分頁
在web開發中,對大量的商品進行分頁顯示,是常見的需求,django對分頁直接提供了現成的函數,讓我們的開發更為快速便捷...
動圖_Django快速分頁
在後端(視圖函數中)
from django.shortcuts import render
from .models import ShowMyComputer
# 引入方法
from django.core.paginator import Paginator
# Create your views here.
def show(request, page_id):
# 擷取需要分頁的對象集合
all_goods = ShowMyComputer.objects.all()
# 建立分頁對象
paginator = Paginator(all_goods, 3)
# 根據目前頁碼,确定傳回的資料
current_page = paginator.page(page_id)
# 保證前端取到的"頁數"為整型
page_id = int(page_id)
return render(request, 'computer/list.html', locals())
在前端(html模闆中)
<body>
{# 展示目前頁面的資料 #}
{% for goods in current_page %}
<div class="my_goods">
<div class="goods_image">

</div>
<br>
<div class="goods_name">{{ goods.goods_name }}</div>
</div>
{% endfor %}
<div class="page_num">
{# 判斷'上一頁'是否存在,如果存在則保留`上一頁`标簽 ,反之則不顯示`上一頁`标簽 #}
{% if current_page.has_previous %}
<a href="{% url 'computer:show' current_page.previous_page_number %}">上一頁</a>
{% endif %}
{# 确定分頁數量 #}
{% for index in paginator.page_range %}
{# 如果頁碼與目前頁面相符,則添加紅色背景 #}
{% if page_id == index %}
<a href= "{% url 'computer:show' index %}" style="background-color: red" >{{ index }}</a>
{# 如果頁面與目前頁面不符,則正常顯示 #}
{% else %}
<a href="{% url 'computer:show' index %}" >{{ index }}</a>
{% endif %}
{% endfor %}
{# 判斷'下一頁'是否存在,如果存在則保留`下一頁`标簽 ,反之則不顯示`下一頁`标簽 #}
{% if current_page.has_next%}
<a href="{% url 'computer:show' current_page.next_page_number %}">下一頁</a>
{% endif %}
</div>
</body>
文章涉及到的資源我會通過百度網盤分享,為便于管理,資源整合到一張獨立的文章,連結如下: http://www.jianshu.com/p/4f28e1ae08b1