星星博客 »  > 

django paginator 分页

from django.core.paginator Paginator,EmptyPage,PageNotInteget

Paginator

四个初始化参数和八个类方法

参数1 object_list 需要分类处理的数据 ,可迭代对象 必选

参数2 per_page 设置每一页的数据量 必选

八个类方法:

validate_number():验证当前页数是否大于或者等于1

get_page(n):获取第n也数据,首先会调用validate_number()判断当前页是否有效,然后调用page(n),返回的是Page对象

    page(n):根据当前页数对object_list进行切片处理,获取页数相对信息,函数返回值调用_get_page

        _get_page():创建Page(当前页数)对象

count():获取数据的总长度

num_pages():获取总页数

Page

一般由Paginator的get_page(n)方法获得,包含三个初始化参数和七个函数

参数一:object_list,已切片处理的数据对象 必选

参数二:传递的页数 必选

参数三:paginator:Paginator对象

方法:

has_next()

has_previous()

has_other_pages():判断当前页是否存在上一页或者下一页

next_page_number():下一页的页数或者EmptyPage异常

previous_page_number():上一页的页数或者EmptyPage异常

start_index():当前页第一行在整个数据列表的位置,列表从1算起

end_index():当前页倒数第一行在整个数据列表的位置,列表从1算起

相关文章