python项目篇-stark之分页

版权声明:本文为博主原创文章,未经博主允许不得转载。 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>

猜你喜欢

转载自blog.csdn.net/qq_27695659/article/details/87932713