首页 > 其他 > 详细

django分页类---Paginator

时间:2019-07-21 21:48:59      阅读:99      评论:0      收藏:0      [点我收藏+]
from django.core.paginator import Paginator, EmptyPage

        # 创建分页器:每页N条记录
        # # 列表页每页商品数据量
        # GOODS_LIST_LIMIT = 5
        paginator = Paginator(skus, constants.GOODS_LIST_LIMIT)

        # 获取对应页码数据
        try:
            page_skus = paginator.page(page_num)
        except EmptyPage:

            # 如果page_num不正确,默认给用户404
            return http.HttpResponseNotFound('empty page')

        # 获取列表页总页数
        total_page = paginator.num_pages






        分页器:
            有时候数据库的数据太多的话所有的数据都展示在同一个页面上,不方便浏览,也不利于管理:
            此时就出来了一个叫做分页器的概念:

            导入模块:from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
            先查询一下所有的书:book_list = Book.object.all()
            paginator = Paginator(book_list,10)      #每页显示10行数据
            paginator.count     ------------->总的数据有多少行
            paginator.num_pages    ---------->得到总的页数
            paginator.page_range   -----------页码的列表
             
            page1 = paginator.page(1)         -----获取到第一页的page对象
            page1 可以遍历,,得到的结果就是这个页面上的10条数据
            page1.object_list()          -------得到第一页的所有数据
            ---------------------------------------------------------------------------------
            page2 = paginator.page(2)          ---------拿到第二页
            page2.has_next()                  -------------判断是否有下一页
            page2.next_page_number()          ---------------下一页的页面
            page2.has_previous()               ---------判断是否有上一页
            page2.previous_page_number()        --------------上一页的页码
            ps:page不到数据的时候或者page的数据是错误的话会抛错
             
            前端处理数据:
                上一页       中间页            下一页
                判断booklist有没有上一页
                for循环中间页
                判断booklist有没有下一页

django分页类---Paginator

原文:https://www.cnblogs.com/oklizz/p/11222486.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!