Django的分页功能——Paginator

mac2024-07-03  53

写一篇博客记录Django.core.paginator的Paginator方法的使用

一、导入Paginator

from django.core.paginator import Paginatror

Paginator(object_list,per_page,orphans = 0,allow_empty_first_page = True)

二、Paginator方法的一些参数:

参数是否必选描述object_list必选参数列表、元组或其他可切片对象,项目中多是数据库的查询集。per_page必选参数分页后每页的对象个数。orphans可选参数默认为0,表示当最后一页的对象个数<=orphans时,将这些对象合并到上一页中去。allow_empty_first_page可选参数默认为True,设置第一页是否可以为空,如果是True且object_list为空,则引发EmptyPage错误。

三、Pagenator对象的方法:

方法参数描述page()number返回包含第number页内容的Page对象,若页码不存在则引发InvalidPage错误。get_page()number返回包含第number页内容的Page对象。如果页面不是数字,则返回第一页。如果页数为负或大于页数,则返回最后一页。

四、Paginator对象的属性:

方法描述countobject_list的对象个数。num_pages分页后的总页数。page_range基于1的页码序列,如[1,2,3,4]。

五、Page对象的方法

方法描述has_next()是否有下一页,有则返回True。has_previous()是否有上一页,有则返回True。next_page_number()返回下一页的页码。如果下一页不存在,则引发InvalidPage错误。previous_page_number()返回上一页的页码。如果下一页不存在,则引发InvalidPage错误。start_index()返回本页第一个对象相对于object_list的索引(基于1)。end_index()返回本页最后一个对象相对于object_list的索引(基于1)。

六、Page对象的属性

属性描述object_list返回该页面上的对象列表number返回该页的页码paginator返回Page对象的上一级关联的对象Paginator。
最新回复(0)