django分页技术paginator

    分页是Web应用经常使用的手法,Django提供了一个分页器类Paginator(django.core.paginator.Paginator),能够很容易的实现分页的功能。该类有两个构造参数,一个是数据的集合,另外一个是每页放多少条数据。django

分页对象Paginator:ide

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

    Paginator.count:数据总量对象

    Paginator.num_pages:总共分页数索引

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

Page对象:io

    Page对象不须要手工构建,一般是由paginator.page()方法得到。Page对象的属性有:class

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

    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():返回当前页最后一条数据的索引

相关文章
相关标签/搜索