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 相关文章推荐
Tornado服务器中绑定域名、虚拟主机的方法
Aug 22 Python
Python中的推导式使用详解
Jun 03 Python
python脚本内运行linux命令的方法
Jul 02 Python
python flask 多对多表查询功能
Jun 25 Python
Python numpy 常用函数总结
Dec 07 Python
Python 实现王者荣耀中的敏感词过滤示例
Jan 21 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
Jun 18 Python
python实现两张图片拼接为一张图片并保存
Jul 16 Python
Python图像处理模块ndimage用法实例分析
Sep 05 Python
python实现的Iou与Giou代码
Jan 18 Python
搭建pypi私有仓库实现过程详解
Nov 25 Python
python套接字socket通信
Apr 01 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的五种设计模式
2012/09/05 PHP
Laravel 5.0 发布 新版本特性详解
2015/02/10 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
php  单例模式详细介绍及实现源码
2016/11/05 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
匹配任意字符的正则表达式写法
2010/04/29 Javascript
js使用post 方式打开新窗口
2015/02/26 Javascript
浅谈类似于(function(){}).call()的js语句
2015/03/30 Javascript
jQuery设置聚焦并使光标位置在文字最后的实现方法
2016/08/02 Javascript
JS解决iframe之间通信和自适应高度的问题
2016/08/24 Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
2016/08/29 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
Angular4实现图片上传预览路径不安全的问题解决
2017/12/25 Javascript
js canvas实现红包照片效果
2018/08/21 Javascript
利用python获得时间的实例说明
2013/03/25 Python
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
Windows系统下安装Python的SSH模块教程
2015/02/05 Python
对于Python的框架中一些会话程序的管理
2015/04/20 Python
python实现清屏的方法
2015/04/30 Python
python常用知识梳理(必看篇)
2017/03/23 Python
Python实现PS图像抽象画风效果的方法
2018/01/23 Python
python使用turtle绘制分形树
2018/06/22 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
python中单例常用的几种实现方法总结
2018/10/13 Python
Python button选取本地图片并显示的实例
2019/06/13 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
python tkinter实现下载进度条及抖音视频去水印原理
2021/02/07 Python
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
高三毕业典礼演讲稿
2014/05/13 职场文书
合作合同协议书范本
2015/01/27 职场文书
郭明义电影观后感
2015/06/08 职场文书
再次探讨go实现无限 buffer 的 channel方法
2021/06/13 Golang
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫
MyBatis在注解上使用动态SQL方式(@select使用if)
2022/07/07 Java/Android