Django_实现分页
需求:
对于有很多数据,并不希望一次性全部展现在一个页面,需要一个分页的,定好每一页显示的内容
那,如何满足这个需求呢?
- 通过第三方模块  django-pure-pagination
pip install django-pure-pagination 
- setting配置,把这个模块添加到app中
# 添加分页app 
 INSTALLED_APPS = (
 ...
 'pure_pagination',
 ) # 分页app配置
 PAGINATION_SETTINGS = {
 # 总共显示多少个提示页面
 'PAGE_RANGE_DISPLAYED': 10,、
 # 最前面和最后面显示多少页面提示
 'MARGIN_PAGES_DISPLAYED': 2,
 # 当页面不存在时候,不返回404而是显示第一页
 'SHOW_FIRST_PAGE_WHEN_INVALID': True,
 }
- view中把多个结果的查询对象交个pure-pagination
# 进行分页 
 try:
 page = request.GET.get('page', 1)
 except PageNotAnInteger:
 page = 1
 p = Paginator(all_courses, 6, request=request)
 all_courses = p.page(page)
 # all_courses 是表查询的结果,把all_courses传递到模版
- template中通过object_list获取结果
<div id="inWindow"> 
 <div class="tab_cont " id="content">
 <div class="group_list"> {% for course in all_courses.object_list %}
 <div class="box">
 <a href="{% url 'course:detail' course.id %}">
 <img width="280" height="350" class="scrollLoading" src="{{ MEDIA_URL }}{{ course.image }}"/>
 </a>
 <div class="des">
 <a href="{% url 'course:detail' course.id %}">
 <h2>{{ course.name }}</h2>
 </a>
 <span class="fl">时长:<i class="key">{{ course.learn_times }}</i></span>
 <span class="fr">学习人数:{{ course.students }} </span>
 </div>
 <div class="bottom">
 <a href="course-detail.html"><span class="fl">{{ course.courser_org.name }}</span></a>
 <span class="star fr notlogin
 " data-favid="15">
 {{ course.fav_nums }}
 </span>
 </div>
 </div> {% endfor %} </div>
 <div class="pageturn">
 <ul class="pagelist"> {# 显示上一页,没有不显示#}
 {% if all_courses.has_previous %}
 <li class="long"><a href="?{{ all_courses.previous_page_number.querystring }}">上一页</a></li>
 {% endif %} {# 中间显示页面#}
 {% for page in all_courses.pages %}
 {% if page %}
 {% ifequal page all_courses.number %}
 <li class="active"><a href="?{{ page.querystring }}">{{ page }}</a></li>
 {% else %}
 <li><a href="?{{ page.querystring }}" class="page">{{ page }}</a></li>
 {% endifequal %}
 {% else %}
 <li><a href="" class="none">...</a></li>
 {% endif %}
 {% endfor %} {# 判断是否有下一页,有的话显示下一页,没有不显示#}
 {% if all_courses.has_next %}
 <li class="long"><a href="?{{ all_courses.next_page_number.querystring }}">下一页</a></li>
 {% endif %} </ul>
 </div>
 </div>
 </div>Githup地址 : https://github.com/jamespacileo/django-pure-pagination 
Django_实现分页的更多相关文章
- Django_分页
		目录 基本语法 示例 示例1 使用django内置Paginator模块 示例2 改写Paginator 示例3 自定义pager组件 示例3.1 objs与pager各自单独使用 示例3.2 obj ... 
- Django_静态文件/中间件/分页
		1. 静态文件配置 2. 中间件 在不修改源代码的前提下,动态的逻辑控制代码执行(装饰器) 2.1 切入函数 2.2 自定义中间件 中奖 访问限制 2.3 分页 paginator 常见错误 
- 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题
		最近有项目反应,在服务器CPU使用较高的时候,我们的事件查询页面非常的慢,查询几条记录竟然要4分钟甚至更长,而且在翻第二页的时候也是要这么多的时间,这肯定是不能接受的,也是让现场用SQLServerP ... 
- js实现前端分页页码管理
		用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评! 首先先看效果图: 这是 ... 
- JdbcTemplate+PageImpl实现多表分页查询
		一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ... 
- MVC如何使用开源分页插件shenniu.pager.js
		最近比较忙,前期忙公司手机端接口项目,各种开发+调试+发布现在几乎上线无问题了:虽然公司项目忙不过在期间抽空做了两件个人觉得有意义的事情,一者使用aspnetcore开发了个人线上项目(要说线上其实只 ... 
- NET Core-TagHelper实现分页标签
		这里将要和大家分享的是学习总结使用TagHelper实现分页标签,之前分享过一篇使用HtmlHelper扩展了一个分页写法地址可以点击这里http://www.cnblogs.com/wangrudo ... 
- 套用JQuery EasyUI列表显示数据、分页、查询
		声明,本博客从csdn搬到cnblogs博客园了,以前的csdn不再更新,朋友们可以到这儿来找我的文章,更多的文章会发表,谢谢关注! 有时候闲的无聊,看到extjs那么肥大,真想把自己的项目改了,最近 ... 
- php实现的分页类
		php分页类文件: <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 pr ... 
随机推荐
- GUI—ST_emWin移植
			GUI-ST_emWin移植 一.st_emwin移植 1.stemwin源文件下载:ST官网 https://my.st.com/content/my_st_com/en/search.html#q ... 
- [Spark SQL] SparkSession、DataFrame 和 DataSet 练习
			本課主題 DataSet 实战 DataSet 实战 SparkSession 是 SparkSQL 的入口,然后可以基于 sparkSession 来获取或者是读取源数据来生存 DataFrameR ... 
- Push to origin/master was rejected (Git提交错误)
			[问题描述] 在使用Git Push代码的时候,会出现 Push to origin/master was rejected 的错误提示. 在第一次提交到代码仓库的时候非常容易出现,因为初始化的仓库和 ... 
- Python模块学习------ 多线程threading(1)
			# Method 1: 创建一个Thread实例,传给它一个函数:import threading from time import sleep, ctime loops = [4,2] def lo ... 
- [转]在Mac系统中安装配置Tomcat及和Eclipse 配置
			第一步:下载Tomcat 下载地址:http://tomcat.apache.org/download-70.cgi 直接下载如下选中即可: 第二步: 下载完成后 ,把解压的文件夹放到一个目录下 ... 
- DNS Prefetch初认识
			今天在看一个后台框架时,发现这样的代码: <link rel="dns-prefetch" href="//0.s3.envato.com">< ... 
- Nexus 6P 解锁+TWRP+CM
			// 这是一篇导入进来的旧博客,可能有时效性问题. 1. 需要用到的文件:Google USB驱动:adb和fastboot工具二进制文件(如果解锁时提示命令无效说明版本过低,需下载使用支持nexus ... 
- SpringBoot集成security
			本文就SpringBoot集成Security的使用步骤做出解释说明. 
- nohup—后端守护进程
			要将一个命令放到后台执行,我们一般使用nohup sh command & 为什么要nohup? 因为我用使用Scrt这种终端工具退出的时候会向我们在当前shell下启动的进程发生一个SIGH ... 
- pm am 12小时格式化
			<div id="m_tiem">PM 14:26</div> tiem('m_tiem'); //pm am 12小时格式化function tiem(i ... 
