1、分页功能:
Django提供了一个新的类来管理分页数据,这个类存放在django/core/paginator.py.它可以接收列表、元组或其它可迭代的对象。
2、导入:
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
Paginator 分组模块;PageNotAnInteger 处理非数字异常;EmptyPage 处理页数超限异常
3、分页:
list = [‘q’,‘w’,‘e’,‘r’,‘t’,‘y’,‘u’,‘i’,‘o’] # Paginator可以接收可迭代对象,此处用list演示
p = Pagintor(list,10) # list 分页对象,10 每页多少条数据(自定义)
print(p.count) # list中元素个数
print(p.num_pages) # list 可以分为多少页
page1 = p.page(1) # 获取第一页数据,1 是页数
print(page1.object_list) # 第一页数据列表
以上就是常用的分页方法
4、异常处理:
p = Pagintor(list,10)
index = request.GET.get(‘index’)
try:
page1 = p.page(index)
except PageNotAnInteger as e:
page1 = p.page(1)
except EmptyPage as e:
page1 = p.page(p.num_pages)
以上就是Django提供分页功能,后台写法,比之前自己判断写逻辑简单很多