本文共 1387 字,大约阅读时间需要 4 分钟。
在web开发中,对大量的商品进行分页显示,是常见的需求,django对分页直接提供了现成的函数,让我们的开发更为快速便捷...
from django.shortcuts import renderfrom .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())
{# 展示当前页面的数据 #} {% for goods in current_page %}{% endfor %}![图片占位](/static/{ { goods.goods_image }}){ { goods.goods_name }}{# 判断'上一页'是否存在,如果存在则保留`上一页`标签 ,反之则不显示`上一页`标签 #} {% if current_page.has_previous %} 上一页 {% endif %} {# 确定分页数量 #} {% for index in paginator.page_range %} {# 如果页码与当前页面相符,则添加红色背景 #} {% if page_id == index %} { { index }} {# 如果页面与当前页面不符,则正常显示 #} {% else %} { { index }} {% endif %} {% endfor %} {# 判断'下一页'是否存在,如果存在则保留`下一页`标签 ,反之则不显示`下一页`标签 #} {% if current_page.has_next%} 下一页 {% endif %}
文章涉及到的资源我会通过百度网盘分享,为便于管理,资源整合到一张独立的帖子,链接如下:
转载地址:http://isboa.baihongyu.com/