from django.core.paginator Paginator,EmptyPage,PageNotInteget
四个初始化参数和八个类方法
参数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():获取总页数
一般由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算起