1 class Pagination(object):
2 def __init__(self, current_page, all_count, params,per_page_num=10, pager_count=11):
3 """
4 封装分页相关数据
5 :param current_page: 当前页
6 :param all_count: 数据库中的数据总条数
7 :param per_page_num: 每页显示的数据条数
8 :param pager_count: 最多显示的页码个数
9
10 用法:
11 queryset = model.objects.all()
12 page_obj = Pagination(current_page,all_count)
13 page_data = queryset[page_obj.start:page_obj.end]
14 获取数据用page_data而不再使用原始的queryset
15 获取前端分页样式用page_obj.page_html
16
17 示例代码:
18 current_page = self.request.GET.get("page", 1)
19 self.page_obj = Pagination(current_page=current_page,all_count=self.queryset.count(),params=self.request.GET)
20 self.page_queryset = self.queryset[self.page_obj.start:self.page_obj.end]
21 前台:{{ show_obj.page_obj.page_html|safe }}
22 """
23 try:
24 current_page = int(current_page)
25 except Exception as e:
26 current_page = 1
27
28 if current_page <1:
29 current_page = 1
var cpro_id = "u6885494";