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正则表达式 re模块使用说明
May 19 Python
python基础教程之常用运算符
Aug 29 Python
解决Shell执行python文件,传参空格引起的问题
Oct 30 Python
Python发送邮件功能示例【使用QQ邮箱】
Dec 04 Python
python多线程并发让两个LED同时亮的方法
Feb 18 Python
Python中print和return的作用及区别解析
May 05 Python
通过PYTHON来实现图像分割详解
Jun 26 Python
django-allauth入门学习和使用详解
Jul 03 Python
python函数修饰符@的使用方法解析
Sep 02 Python
python使用hdfs3模块对hdfs进行操作详解
Jun 06 Python
8种常用的Python工具
Aug 05 Python
python 视频下载神器(you-get)的具体使用
Jan 06 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
使用 PHPMAILER 发送邮件实例应用
2012/11/07 PHP
PHP得到mssql的存储过程的输出参数功能实现
2012/11/23 PHP
解析yii数据库的增删查改
2013/06/20 PHP
php-7.3.6 编译安装过程
2020/02/11 PHP
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
javascript 模式设计之工厂模式详细说明
2010/05/10 Javascript
EasyUI实现第二层弹出框的方法
2015/03/01 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
AngularJs实现分页功能不带省略号的代码
2016/05/30 Javascript
jQuery实现的图片轮播效果完整示例
2016/09/12 Javascript
微信小程序实现的picker多级联动功能示例
2019/05/23 Javascript
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
python新手经常遇到的17个错误分析
2014/07/30 Python
Python and、or以及and-or语法总结
2015/04/14 Python
Python 类的特殊成员解析
2018/06/20 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
2018/06/27 Python
浅述python中深浅拷贝原理
2018/09/18 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
实例讲解Python中浮点型的基本内容
2019/02/11 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
python 抓包保存为pcap文件并解析的实例
2019/07/23 Python
Python操作Mongodb数据库的方法小结
2019/09/10 Python
python如何实现读取并显示图片(不需要图形界面)
2020/07/08 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
python中pyplot基础图标函数整理
2020/11/10 Python
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
2013/10/30 面试题
党员思想汇报范文
2013/12/30 职场文书
行政专员岗位职责
2014/01/02 职场文书
党员承诺践诺书
2014/05/20 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
护士实习自荐信
2015/03/06 职场文书
银行反洗钱宣传活动总结
2015/05/08 职场文书
国庆阅兵观后感
2015/06/15 职场文书
2015年教学副校长工作总结
2015/07/22 职场文书
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
2022/04/24 Python