Django Paginator属性及方法

Django分页的基本操作在Django文档有简单的例子,基本上看一下就知道。核心代码在django.core.paginator.py中。

 

分页对象Paginator:

只需提供两个必要的参数,第一个就是用于展示的数据(object_list),第二参数就是每页显示的大小(per_page),提供了这两个参数,其他的都好说:

  • Paginator.count:数据总量

  • Paginator.num_pages:总共分页数

  • Paginator.page_range:这是从第一页到最后一页组成的一个列表,比如分页对象总共有10页,那么Paginator.page_range = [1,2,3,4,5,6,7,8,9,10]

Page对象:

  • Page对象不需要手工构建,通常是由paginator.page()方法获得。Page对象的属性有:

  • Page.object_list:该页的对象列表

  • Page.number:该页的页码

  • Page.paginator:关联的Paginator对象

Page对象还提供了很多的方法:

 

  • Page.has_next():是否还有下一页

  • Page.has_previous():是否还有上一页

  • Page.has_other_pages():只有含有上一页或者下一页就返回True

  • Page.next_page_number():下一页的页码

  • Page.previous_page_number():返回上一页的页码,如果没有就申明InvalidPage异常

  • Page.start_index():返回当前页的第一条数据的索引

  • Page.end_index():返回当前页最后一条数据的索引

你可能感兴趣的:(Django Paginator属性及方法)