通过Django中的Paginator类对结果集进行分页
首先导入Paginator类
# 导入Paginator
from django.core.paginator import Paginator
用Paginator类将结果集进行分页
# 对数据进行分页 Paginator(query, i) query:列表或结果集, i: 每页显示的数据是多少
# 创建一个Paginator实例对象
paginator = Paginator(query, i)
获取某一页的数据,返回一个结果集
调用时在模板文件中按照原来的变量名取值就可以了
# 获取第page页的结果集
content = paginator.page(page)
最后将得到的结果集放进字典中,传给模板文件就可以了
下面是
Paginator类对象的属性:
属性名 | 说明 |
---|---|
num_pages | 返回分页之后的总页数 |
page_range | 返回分页后页码的列表 |
Paginator类对象的方法:
方法名 | 说明 |
---|---|
page(self, number) | 返回第number页的Page类实例对象 |
Page类对象的属性:
属性名 | 说明 |
---|---|
number | 返回当前页的页码 |
object_list | 返回包含当前页的数据的查询集 |
paginator | 返回对应的Paginator类对象 |
Page类对象的方法:
方法名 | 说明 |
---|---|
has_previous | 判断当前页是否有前一页 |
has_next | 判断当前页是否有下一页 |
previous_page_number | 返回前一页的页码 |
next_page_number | 返回下一页的页码 |