from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
def main(object_list, page_index, display_num=10):
"""
:param object_list:
:param page_index:
:param display_num:
:return: 分页后数据列表 分页后总页数 当前页码 每页显示数据行数 原始数据总量
"""
paginator = Paginator(object_list, display_num)
try:
contacts = paginator.page(page_index)
except PageNotAnInteger:
page_index = 1
contacts = paginator.page(page_index)
except EmptyPage:
if page_index < 1:
page_index = 1
else:
page_index = paginator.num_pages
contacts = paginator.page(page_index)
finally:
data_count = paginator.object_list.count()
# print(type(contacts)) # <class 'django.core.paginator.Page'>
return contacts, paginator.num_pages, page_index, display_num, data_count
# 数据对象, 总页数, 当前页码, 每页数据量, 数据总量