Django实现快速分页的方法实例


Posted in Python onOctober 22, 2017

前言

本文主要给大家介绍了关于Django快速分页的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

Django实现快速分页的方法实例

分页

在web开发中,对大量的商品进行分页显示,是常见的需求,django对分页直接提供了现成的函数,让我们的开发更为快速便捷...

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">  
   ![图片占位](/static/{{ goods.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 %}" rel="external nofollow" >上一页</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 %}" rel="external nofollow" >{{ index }}</a>
 {% endif %}

 {% endfor %}

 {# 判断'下一页'是否存在,如果存在则保留`下一页`标签 ,反之则不显示`下一页`标签 #}
 {% if current_page.has_next%}

  <a href="{% url 'computer:show' current_page.next_page_number %}" rel="external nofollow" >下一页</a>

 {% endif %}


 </div>

</body>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python 实现文件的递归拷贝实现代码
Aug 02 Python
python进阶教程之循环对象
Aug 30 Python
Python爬取网易云音乐上评论火爆的歌曲
Jan 19 Python
Django中日期处理注意事项与自定义时间格式转换详解
Aug 06 Python
python使用threading.Condition交替打印两个字符
May 07 Python
手机使用python操作图片文件(pydroid3)过程详解
Sep 25 Python
Pycharm+Python+PyQt5使用详解
Sep 25 Python
Pytorch 实现权重初始化
Dec 31 Python
2020版Python学习路线图(附学习资料)
Sep 15 Python
python如何实时获取tcpdump输出
Sep 16 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
Oct 21 Python
python使用正则表达式匹配txt特定字符串(有换行)
Dec 09 Python
python使用SMTP发送qq或sina邮件
Oct 21 #Python
python爬虫headers设置后无效的解决方法
Oct 21 #Python
Python 结巴分词实现关键词抽取分析
Oct 21 #Python
恢复百度云盘本地误删的文件脚本(简单方法)
Oct 21 #Python
Python实现对百度云的文件上传(实例讲解)
Oct 21 #Python
Python3操作SQL Server数据库(实例讲解)
Oct 21 #Python
Python3实现简单可学习的手写体识别(实例讲解)
Oct 21 #Python
You might like
用Flash图形化数据(二)
2006/10/09 PHP
php intval的测试代码发现问题
2008/07/27 PHP
DISCUZ 论坛管理员密码忘记的解决方法
2009/05/14 PHP
php开发过程中关于继承的使用方法分享
2011/06/17 PHP
PHP防CC攻击实现代码
2011/12/29 PHP
Yii2 输出xml格式数据的方法
2016/05/03 PHP
PHP实现根据数组某个键值大小进行排序的方法
2018/03/13 PHP
JS 判断undefined的实现代码
2009/11/26 Javascript
Js实现动态添加删除Table行示例
2014/04/14 Javascript
jQuery中多个元素的Hover事件解决方案
2014/06/12 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
jQuery实现html表格动态添加新行的方法
2015/05/28 Javascript
jQuery基本过滤选择器用法示例
2016/09/09 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
2017/08/16 jQuery
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
JavaScript事件发布/订阅模式原理与用法分析
2018/08/21 Javascript
微信小程序实现登录注册tab切换效果
2020/12/29 Javascript
js实现指定时间倒计时效果
2019/08/26 Javascript
JS实现纵向轮播图(初级版)
2020/01/18 Javascript
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
python机器学习理论与实战(四)逻辑回归
2018/01/19 Python
python list转矩阵的实例讲解
2018/08/04 Python
利用Python计算KS的实例详解
2020/03/03 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
雅高酒店中国:Accorhotels.com China
2018/03/26 全球购物
linux面试题参考答案(9)
2016/01/29 面试题
爱情寄语大全
2014/04/09 职场文书
社区助残日活动总结
2014/08/29 职场文书
反对形式主义、官僚主义、享乐主义和奢靡之风整改措施
2014/09/17 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
先进班集体申报材料
2014/12/26 职场文书
幼儿园庆元旦主持词
2015/07/06 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书
Redis字典实现、Hash键冲突及渐进式rehash详解
2021/09/04 Redis
spring cloud eureka 服务启动失败的原因分析及解决方法
2022/03/17 Java/Android