django-分页
08.16自我总结
django-分页
一.django自带的分页
以读取UserInfo表为例
1.导入模块
from django.core.paginator import Paginator
2.读取信息
userlist = models.UserInfo.objects.all()
3.生成painantor对象
生成painantor对象
paginator = Paginator(userlist, 10) #对象,每页多少条数据
painantor的属性与方法
- 属性
- object_list:返回所有页对象的的列表
- per_page: 每页显示条目数量
- count:数据总个数
- num_pages:总页数
- page_range:总页数的索引范围,如: (1,10),(1,200)
- 方法
- page(第几页):page对象
4.生成page对象
生成page对象
page_1 = paginator.page(1) #第一页的信息
page的属性和方法
- 属性
- object_list:返回当前页对象的的列表
- number:返回当前页是第几页,从1开始
- paginator:当前页对应的paginator对象
- 方法
- has_next(): 是否有下一页,有就返回Ture
- next_page_numbe()r:返回值下一页页码
- has_previous():是否有上一页,有就返回Ture
- previous_page_number():返回值上一页页码
二.自定义分页
原理
:我们用orm获得表里面信息的时候,他是个列表,我们可以用列表的切片来进行内容选取而达到分页的效果