小孙同学

导航

 

利用django自带分页组件实现分页功能

  • 使用分页器Paginator:

    Paginator常用属性
    per_page: 每页显示条目数量
    count: 数据总个数
    num_pages:总页数
    page_range:总页数的索引范围,页码的范围,从1开始,例如[1, 2, 3, 4]
  • Paginator所需参数:

    object_list 一个列表,元祖或则Django 的Queryset 对象 或则其他对象带有 count() or __len__()的方法
    per_page :就是1页显示几条数据
  • Paginator对象的方法:

    page(number) :返回在提供的下标处的Page对象,下标以1开始。
  • 使用page对象方法

    Page.has_next()
    如果有下一页,则返回True。

    Page.has_previous()
    如果有上一页,返回 True。

    Page.has_other_pages()
    如果有上一页或下一页,返回True。

    Page.next_page_number()
    返回下一页的页码。如果下一页不存在,抛出InvalidPage异常。

    Page.previous_page_number()
    返回上一页的页码。如果上一页不存在,抛出InvalidPage异常。

    Page.start_index()
    返回当前页上的第一个对象,相对于分页列表的所有对象的序号,从1开始。比如,将五个对象的列表分为每页两个对象,第二页的start_index()会返回3。

    Page.end_index()
    返回当前页上的最后一个对象,相对于分页列表的所有对象的序号,从1开始。 比如,将五个对象的列表分为每页两个对象,第二页的end_index() 会返回 4。
  • 使用page对象属性

    Page.object_list
    当前页上所有对象的列表。

    Page.number
    当前页的序号,从1开始。

    Page.paginator
    相关的Paginator对象。
     
posted on 2021-08-04 17:01  是孙同学啊  阅读(243)  评论(0)    收藏  举报