使用django自带的分页器给数据分页:
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
def page(self, data, page, page_num=10):
‘’‘
data:所有数据对象列表
page:页码
page_num:分页数量(这里默认分为10页)
’‘’
paginator = Paginator(data, page_num)
try:
data = paginator.page(page)
except PageNotAnInteger:
# 页码不是一个整数时返回第一页
data = paginator.page(1)
except EmptyPage:
# 没有该页码返回最后一页
data = paginator.page(paginator.num_pages)
return data
res = page(data, page) # 得到第page页
res.has_previous() # 前一页
res.has_next() # 后一页
data=res.object_list # 本页的对象列表