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 相关文章推荐
使用graphics.py实现2048小游戏
Mar 10 Python
python中Genarator函数用法分析
Apr 08 Python
在Python程序中操作文件之flush()方法的使用教程
May 24 Python
Python实现文件按照日期命名的方法
Jul 09 Python
使用FastCGI部署Python的Django应用的教程
Jul 22 Python
Python基于matplotlib实现绘制三维图形功能示例
Jan 18 Python
python实现趣味图片字符化
Apr 30 Python
将python包发布到PyPI和制作whl文件方式
Dec 25 Python
Pytorch DataLoader 变长数据处理方式
Jan 08 Python
Django实现whoosh搜索引擎使用jieba分词
Apr 08 Python
分享Python异步爬取知乎热榜
Apr 12 Python
Python数组变形的几种实现方法
May 30 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
php程序之die调试法 快速解决错误
2009/09/17 PHP
利用PHP将部分内容用星号替换
2020/04/21 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
2015/12/25 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
2016/03/19 PHP
javascript document.images实例
2008/05/27 Javascript
JS 自动完成 AutoComplete(Ajax 查询)
2009/07/07 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
2015/04/02 Javascript
javascript html5实现表单验证
2016/03/01 Javascript
JavaScript提升性能的常用技巧总结【经典】
2016/06/20 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
PHP实现记录代码运行时间封装类实例教程
2017/05/08 Javascript
node.js中express-session配置项详解
2017/05/31 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
2018/08/24 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
jquery插件懒加载的示例
2020/10/24 jQuery
[01:00:06]加油DOTA_EP01_网络版
2014/08/09 DOTA
[00:32]2018DOTA2亚洲邀请赛出场——VP
2018/04/04 DOTA
在Python中操作列表之List.pop()方法的使用
2015/05/21 Python
python 2.6.6升级到python 2.7.x版本的方法
2016/10/09 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
Python GUI库PyQt5图形和特效样式QSS介绍
2020/02/25 Python
浅析Python requests 模块
2020/10/09 Python
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
地理教师岗位职责
2014/03/16 职场文书
教师师德演讲稿
2014/05/06 职场文书
校园环保建议书
2014/05/14 职场文书
建筑安全标语
2014/06/07 职场文书
公司员工离职证明书
2014/10/04 职场文书
机关单位2016年创先争优活动总结
2016/04/05 职场文书
2019幼儿教师求职信(3篇)
2019/09/20 职场文书
Tomcat执行startup.bat出现闪退的原因及解决办法
2022/04/20 Servers