zoukankan      html  css  js  c++  java
  • Django 分页的实现

    一、views.py

     1 class ListView(View):
     2     """列表"""
     3     def get(self, request, type_id, page):
     4         """显示列表"""
     5         goods_list = GoodsSKU.objects.filter(type=type_id)
     6         paginator = Paginator(goods_list, 1)
     7         goods_list_page = paginator.page(page)
     8 
     9         num_pages = paginator.num_pages
    10         if num_pages < 5:
    11             pages = range(1, num_pages + 1)
    12         elif page <= 3:
    13             pages = range(1, 6)
    14         elif num_pages - page <= 2:
    15             pages = range(num_pages - 4, num_pages + 1)
    16         else:
    17             pages = range(page - 2, page + 3)
    18 
    19         content = {
    20             'goods_list_page': goods_list_page,
    21             'type_id': type_id,
    22             'pages': pages,
    23         }
    24         return render(request, 'list.html', content)

    二、list.html

     1 <div class="pagenation">
     2     {% if goods_list_page.has_previous %}
     3         <a href="{% url 'goods:list' type_id goods_list_page.previous_page_number  %}?sort={{ sort }}"><上一页</a>
     4     {% endif %}
     5     {% for page_index in pages %}
     6         {% if page_index == goods_list_page.number %}
     7             <a href="{% url 'goods:list' type_id page_index %}?sort={{ sort }}" class="active">{{ page_index }}</a>
     8         {% else %}
     9             <a href="{% url 'goods:list' type_id page_index %}?sort={{ sort }}" >{{ page_index }}</a>
    10         {% endif %}
    11     {% endfor %}
    12     {% if goods_list_page.has_next %}
    13         <a href="{% url 'goods:list' type_id goods_list_page.next_page_number  %}?sort={{ sort }}"><下一页</a>
    14     {% endif %}
    15 </div>
  • 相关阅读:
    利用服务器实现疫情查询小系统(Web版+APP)
    第五周总结
    第四周总结
    初试python爬取网页数据
    使用ECharts完成数据可视化
    第三周总结
    第二周总结
    求数组中最大子数组的和
    软工第二周博客作业
    MySQL学习笔记(3)——创建、查看、修改、删除数据库
  • 原文地址:https://www.cnblogs.com/mxsf/p/10347798.html
Copyright © 2011-2022 走看看