• Django 学习笔记之七 实现分页


    接着上篇,在上篇的基础上实现网页数据分页显示

    1、打开views.py,编辑如下

    #coding:utf-8
    from django.shortcuts import render,get_object_or_404
    from blog.models import Post
    from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger
    # Create your views here.
    def post_list(request):
    object_list = Post.objects.all()
    paginator = Paginator(object_list,3)#分页显示,每页3条记录
    page = request.GET.get('page')
    try:
    posts = paginator.page(page)
    except PageNotAnInteger:
    posts = paginator.page(1)
    except EmptyPage:
    posts = paginator.page(paginator.num_pages)
    return render(request,'blog/post/list.html',{'page':page,'posts':posts})

    def post_detail(request,post):
    post = get_object_or_404(Post,slug=post)
    # post = Post.objects.get(slug=post)
    return render(request,'blog/post/detail.html',{'post':post})

    2、打开urls.py,编辑如下

    from django.conf.urls import url,include
    from django.contrib import admin
    from blog.views import *


    urlpatterns = [
    # url(r'^blog/',blog_views.post_list,name='post_list'),
    url(r'^blog/', post_list, name='post_list'),
    url(r'^(?P<post>[-w]+)/$',
    post_detail, name='post_detail'),
    url(r'^(?P<post_id>)/share/$',post_share,name='post_share'),
    url(r'^admin/', admin.site.urls),
    ]


    3、建立html网页

      在 blog目录下建立templates文件,在下面再建立文件夹 blog,在下面增加 base.html,在blog文件夹下建立post文件夹,在此文件夹建立list.html文件和

         pagination.html。目录下:

      

      

      base.html文件内容如下:

      

       

    list.html 文件内容如下:


    pagination.html文件内容如下:
     

      

    4、在浏览器里输入:http://127.0.0.1:8000/blog/

    
    

    
    

    点击“Next”

      这样就实现了简单的分页功能

    
    
  • 相关阅读:
    Animation Curve运动曲线
    Unity3D Collider类的信息传输Ontrigger*与OnCollision*
    springmvc拦截器的简单了解
    JDK中的注解简单了解
    面试加分项---HashMap底层实现原理
    springmvc参数绑定
    springmvc和struts2的区别
    修改tomcat的编码方式,可以解决某些get请求乱码问题
    springmvc 怎么响应json数据
    权限控制框架---shiro入门
  • 原文地址:https://www.cnblogs.com/shaosks/p/6206860.html
Copyright © 2020-2023  润新知