分页器 Paginator

类属性

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

非必要属性。用来判断第一页是否允许为空。注意: 如果 Falseobject_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

你可能感兴趣的:(分页器 Paginator)