版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27695659/article/details/87932713
1、引入utils分页组件
2、将list_view中的数据封装成ShowList类
3、在ShowList类中调用分页接口
ShowList类:
class ShowList(object):
def __init__(self, config, data_list, request):
self.config = config
self.data_list = data_list
self.request = request
# 分页
data_count = self.data_list.count()
current_page = int(self.request.GET.get("page", 1))
base_path = self.request.path
self.pagination = Pagination(current_page, data_count, base_path, self.request.GET, per_page_num=3,
pager_count=11, )
self.page_data = self.data_list[self.pagination.start:self.pagination.end]
ModelStark类:
def list_view(self, request):
# 筛选获取当前表所有数据
data_list = self.model.objects.all().filter(search_connection) # 【obj1,obj2,....】
# 按这ShowList展示页面
showlist = ShowList(self, data_list, request)
# 构建一个查看URL
add_url = self.get_add_url()
return render(request, "list_view.html", locals())
list_view.html:
<nav class="pull-right">
<ul class="pagination">
{{ showlist.pagination.page_html|safe }}
</ul>
</nav>