一. django自带的分页
此处以读取 UserInfo 表为例:
1.导入模块
from django.core.paginator import Paginator
2.读取信息
userlist = models.UserInfo.objects.all()
3.生成paginator对象
paginator = Paginator(userlist, 10) # 对象,每页多少条数据
说明:paginator的属性与方法
- 属性
object_list:返回所有页对象的的列表
per_page:每页显示条目数量
count:数据总个数
num_pages:总页数
page_range:总页数的索引范围,如: (1,10),(1,200)- 方法
page(第几页):page对象
4.生成page对象
page_1 = paginator.page(1) # 第一页的信息
说明:page的属性和方法
- 属性
object_list:返回当前页对象的的列表
number:返回当前页是第几页,从1开始
paginator:当前页对应的paginator对象- 方法
has_next():是否有下一页,有就返回Ture
next_page_number():返回值下一页页码
has_previous():是否有上一页,有就返回Ture
previous_page_number():返回值上一页页码
二. 自定义分页
实现原理:
我们用 ORM 获得表里面信息的时候,返回的是一个列表对象,我们可以使用列表的切片特性来对内容进行选取操作从而达到分页的效果。
本文详细介绍了Django自带的分页功能及自定义分页实现原理。通过实例讲解了如何使用Django内置的Paginator类进行分页操作,包括导入模块、读取信息、生成paginator对象和page对象等步骤。同时,探讨了自定义分页的方法,利用ORM获取表信息并使用列表切片特性实现分页效果。
1万+

被折叠的 条评论
为什么被折叠?



