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的Flask框架与数据库连接的教程
Apr 20 Python
Python实现的飞速中文网小说下载脚本
Apr 23 Python
利用Python实现简单的相似图片搜索的教程
Apr 23 Python
python实现爬虫统计学校BBS男女比例(一)
Dec 31 Python
python字符串str和字节数组相互转化方法
Mar 18 Python
Python中super函数的用法
Nov 17 Python
python对excel文档去重及求和的实例
Apr 18 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
Dec 19 Python
详解Python的循环结构知识点
May 20 Python
Anaconda 查看、创建、管理和使用python环境的方法
Dec 03 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
Feb 17 Python
python跨文件使用全局变量的实现
Nov 17 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 radio 单选框获取与保持值的实现代码
2010/05/15 PHP
基于php iconv函数的使用详解
2013/06/09 PHP
php防止sql注入代码实例
2013/12/18 PHP
一个好用的PHP验证码类实例分享
2013/12/27 PHP
php判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
四个常见html网页乱码问题及解决办法
2015/09/08 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
2019/04/17 PHP
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
2013/12/13 Javascript
js中生成map对象的方法
2014/01/09 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
如何减少浏览器的reflow和repaint
2015/02/26 Javascript
JQuery基础语法小结
2015/02/27 Javascript
分享一个精简的vue.js 图片lazyload插件实例
2017/03/13 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
详解如何构建Angular项目目录结构
2017/07/13 Javascript
jQuery实现上传图片前预览效果功能
2017/08/03 jQuery
JS中关于正则的巧妙操作
2017/08/31 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
使用jQuery如何写一个含验证码的登录界面
2019/05/13 jQuery
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
2020/07/11 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
Vue+element+cookie记住密码功能的简单实现方法
2020/09/20 Javascript
wxpython学习笔记(推荐查看)
2014/06/09 Python
python轻松查到删除自己的微信好友
2016/01/10 Python
Python实现按中文排序的方法示例
2018/04/25 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
opencv-python 提取sift特征并匹配的实例
2019/12/09 Python
Python抓包程序mitmproxy安装和使用过程图解
2020/03/02 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
什么是python的自省
2020/06/21 Python
CSS3实现3D翻书效果
2016/06/20 HTML / CSS
教师个人年终总结
2015/02/11 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
MySQL数字类型自增的坑
2021/05/07 MySQL