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内存管理分析
Apr 08 Python
Python聚类算法之DBSACN实例分析
Nov 20 Python
Python多线程应用于自动化测试操作示例
Dec 06 Python
python使用wxpy轻松实现微信防撤回的方法
Feb 21 Python
python绘制地震散点图
Jun 18 Python
Python3简单爬虫抓取网页图片代码实例
Aug 26 Python
python 实现视频 图像帧提取
Dec 10 Python
python解释器pycharm安装及环境变量配置教程图文详解
Feb 26 Python
Python爬虫获取页面所有URL链接过程详解
Jun 04 Python
python对输出的奇数偶数排序实例代码
Dec 04 Python
python3.9之你应该知道的新特性详解
Apr 29 Python
python中validators库的使用方法详解
Sep 23 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 URL路由类实例
2013/11/12 PHP
Laravel框架实现利用监听器进行sql语句记录功能
2018/06/06 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
JavaScript 原型继承
2011/12/26 Javascript
JS实现一键回顶功能示例代码
2013/10/28 Javascript
js函数在frame中的相互调用详解
2014/03/03 Javascript
javascript实现时间格式输出FormatDate函数
2015/01/13 Javascript
js进行表单验证实例分析
2015/02/10 Javascript
JavaScript实现的多种鼠标拖放效果
2015/11/03 Javascript
Sea.JS知识总结
2016/05/05 Javascript
JavaScript事件学习小结(一)事件流
2016/06/09 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
基于JavaScript实现购物车功能
2017/02/07 Javascript
Vue filter介绍及详细使用
2018/04/04 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
JQuery事件冒泡和默认行为代码实例
2020/05/13 jQuery
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
python Django模板的使用方法(图文)
2013/11/04 Python
python  Django中的apps.py的目的是什么
2018/10/15 Python
python 实现得到当前时间偏移day天后的日期方法
2018/12/31 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
python3 实现函数写文件路径的正确方法
2019/11/27 Python
Python 生成一个从0到n个数字的列表4种方法小结
2019/11/28 Python
python类中super() 的使用解析
2019/12/19 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
RetroStage德国:复古服装
2019/02/03 全球购物
String是最基本的数据类型吗?
2013/06/13 面试题
纪检监察建议书
2014/05/19 职场文书
大专学生求职自荐信
2014/07/06 职场文书
全国法制宣传日活动总结2014
2014/11/01 职场文书
环境建议书
2015/02/04 职场文书
2015年综治宣传月活动总结
2015/03/25 职场文书
初中毕业感言300字
2015/07/31 职场文书
CSS巧用渐变实现高级感背景光动画
2021/12/06 HTML / CSS