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>
  • 相关阅读:
    hdu1430 魔板(康拓展开 bfs预处理)
    网络流EdmondsKarp算法模板理解
    poj3020 建信号塔(匈牙利算法 最小覆盖边集)
    bzoj 2465 小球
    bzoj 1822 冷冻波
    bzoj 1040 骑士
    Codeforces Round #460 (Div. 2)
    bzoj 1072 排列perm
    Codeforces Round #459 (Div. 2)
    bzoj 1087 互不侵犯King
  • 原文地址:https://www.cnblogs.com/mxsf/p/10347798.html
Copyright © 2011-2022 走看看