类属性
Paginator类属性有( object_list , per_page , orphans = 0 , allow_empty_first_page = True )
object_list
必要属性。表名当前待分页的对象是什么
可以是列表、元组、查询集或其他可以切片的对象。(需要实现count方法或__len__
()方法的)
per_page
必要属性。单个页面上的项目个数
orphans
非必要属性。可以将最后一个页面和倒数第二个页面合并,通常被用来合并最后一页内容少于正常分页内容的页面。 例如,有23个项目是,per_page=10
以及orphans=3
,将有两页; 第一页包含10个项目,第二页(也是最后一页)包含13个项目。orphans
默认为零,这意味着从不合并页面,最后一页可能只有一项。
allow_empty_first_page
非必要属性。用来判断第一页是否允许为空。注意: 如果 False
和object_list
都为空时,将引发EmptyPage
错误
类方法
Paginator.get_page (number)
返回索引的页对象基于1的查询结果,并且处理超出范围和无效的页码。
如果页面不是数字,则返回第一个页面。如果页码为负数或大于页数,则返回最后一页。
当 Paginator(..., allow_empty_first_page=False) 和 object_list 为空,发生EmptyPage
错误
Paginator.page(number )
返回具有给定的基于1的索引的Page对象。如果给定的页码不存在,则引发InvalidPage
错误。
Paginator.count
获取所有页面上的对象总数
Paginator.num_pages
页总数
Paginator.page_range
基于1的页码范围迭代器
Page.has_next()
是否有下一页,返回值是布尔值
Page.has_previous()
是否有上一页,返回值是布尔值
Page.has_other_pages()
是否有上一页或下一页,返回值是布尔值
Page.next_page_number()
返回下一个页码。如果下一页不存在,则引发InvalidPage
Page.previous_page_number()
返回上一个页码。如果上一页不存在,则引发InvalidPage
Page.start_index()
返回页面上的第一个对象基于1的引索号,例如,当分页一个包含5个对象的列表,每个页面有2个对象时,第二个页面的start_index()将返回3
Page.end_index()
返回页面上的最后一个对象基于1的引索号,例如,当分页一个包含5个对象的列表,每个页面有2个对象时,第二个页面的start_index()将返回4