Django——分页

  必要属性和方法  

  • per_page: 每页显示条目数量
  • count: 数据总个数
  • num_pages:总页数
  • page_range:页面范围,从1开始,例如[1,2,3,4]。
  • page: page对象
  • 上面的属性需要用 一页对象dian.整体对象dian.属性名 才能调用
  • has_next 是否有下一页
  • next_page_number 下一页页码
  • has_previous 是否有上一页
  • previous_page_number 上一页页码
  • object_list 分页之后的数据列表
  • number 当前页码
  • paginator paginator对象

    主要步骤

  1. 在views中先导入必要的包from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger

  2. 在views方法中定义函数,接收页数

注:可在函数括号内传参,此时需要在urls中配置用到(?P<传参>),在HTML中用到{% url '路由' 传参%},views方法体中直接接受即可;还有一种方法是只在HTML的a标签中用 '?page=参数' ,a标签不写路由则默认跳转到此时正在访问的的路由,就会在路由后加上?page=参数(GET方式传参),此是需要在views方法体中用request.GET.get('参数名') 来接收。

  1. 接收完毕后,获取models中要显示的数据
  2. 创建Paginator对象,第一个参数为要显示的数据,第二个参数指定每页中要显示的数据条数
  3. 用Paginator对象调用page方法展示传递过来的参数指定的页
  4. render返回
posted @ 2018-09-19 19:38  BO00097  阅读(135)  评论(0编辑  收藏  举报