django1.8.2 建站实现分页显示功能

个人经验:

django先写view,在再写url,最后写html文件。

要实现某个功能,先google查找相关文章,在到文档中寻找相关章节,最后本地实现功能。

1、django1.8.2 实现分页功能

  分页功能,文档中有Paginator类,里面有丰富的功能。如果使用了通用视图(from django.views.generic import ListView),可以直接使用Page objects的属性函数。

2、django文档地址:  

http://python.usyiyi.cn/django_182/topics/pagination.html #使用Page objects的属性函数

https://docs.djangoproject.com/en/1.9/topics/class-based-views/mixins/ #(1.8相同)通用视图分页文档,里面
的默认page_obj,在html文件中要用到。

3、代码

view.py

1 class IndexView(ListView):
2     model = Article
3     template_name = ‘blog/index.html‘
4     context_object_name = ‘latest_article_list‘
5     paginate_by = 2
6
7     def get_queryset(self):
8         return Article.objects.order_by(‘-updated‘)

涉及分页功能的只有paginate_by = 2 #设置每页显示数目

前端代码

 1 <!--分页显示-->
 2 <div class="pagination pagination-right">
 3     <ul contenteditable="false">
 4         <li><a href="{{ request.path }}?page=1">&laquo;</a></li>
 5         {% if page_obj.has_previous %}
 6             <li><a href="{{ request.path }}?&page={{ page_obj.previous_page_number }}">上一页</a></li>
 7         {% endif %}
 8         {% for i in page_obj.paginator.page_range %}
 9             <li {% if page_obj.number == i %}class="active"{% endif %}><a href="{{ request.path }}?page={{ i }}">{{ i }}</a></li>
10         {% endfor %}
11         {% if page_obj.has_next %}
12             <li><a href="{{ request.path }}?&page={{ page_obj.next_page_number }}">下一页</a></li>
13         {% endif %}
14         <li><a href="{{ request.path }}?page={{ page_obj.paginator.num_pages }}">&raquo;</a></li>
15     </ul>
16 </div>

里面使用到的函数在链接(http://python.usyiyi.cn/django_182/topics/pagination.html)里面有详细介绍

参考网站:

http://lihuipeng.blog.51cto.com/3064864/1436010  #通用视图写法,参考前端

4、最终效果

end



时间: 2024-12-25 19:45:15

django1.8.2 建站实现分页显示功能的相关文章

【Bootstrap3.0建站笔记三】AspNetPager分页,每一列都可排序

1.AspNetPager分页,实现每一列都可排序: (1).需要将默认排序字段放在HTML页面中. (2).排序字段放置为td节点的属性. 如图: 实现的效果图如: HTML代码: <div class="row"> <div class="col-lg-12 col-sm-12 col-xs-12 col-xxs-12"> <table class="table table-striped table-hover tabl

【从0开始Tornado建站】总体设计

Tornado是一个非阻塞的web服务器,也是python的web框架中非常优秀的一款.网上关于django的tutorial非常多而且详细,关于tornado的使用就非常少了,我想以我从0开始的方式一步一步用这个优秀的tornado框架建一个小网站,一方面加深自己的理解,另一方面接受大家的建议和批评,更加进步~我注册了个域名:http://www.ustchacker.com,由于服务器在学校里面,外网访问不了,等功能完善后再挂到外网去. 我想建的是一个普通的网站,有登录.注册.发表文章.发表

joomla建站杂谈

一直想建一个属于自己的网站,自已做论坛管理员,在学校的时候想的较多的是自己写全站的代码,但是由于自己所学较杂不专,又比较偏向程序忽略页面,所以写的小应用总是达不到使用的程度. 毕业后工作,慢慢了解到其实大多数情况是不需要自己去写代码的.又因为新闻公司的缘故,让我对内容比较关注.各种情况总结,我开始接触开源系统,并使用之建站.因为开源建站系统简单傻瓜化,如果使用Dreamweaver自定义内容管理系统,耗时,太累,效果不理想. 由于各种大家都明白的人为因素,我选择了godaddy购买域名和域名,做

YouDianCMS五合一建站系统跟新|V 6.7.0 发布

6.7.0 版更新日志此版本公开了前端PHP源码(/App/Lib/Action/Home./App/Lib/Action/Wap)及其它核心源码以方便大家修改,如因PHP二次开发需要用到某处源码,本司将免费提供! [增加] 实现功能强大的数据采集功能,支持复杂数据采集.可对频道模型的任意字段设置采集规则 [增加] 实现管理员操作日志功能,能记录增.删.改.排序.导出.清除缓存等各种操作 [增加] 增加一个信息相册字段,在添加文章时可以上传多个图片的功能 [增加] 增加一个信息相关字段,可以指定

【从0开始Tornado建站】显示所有注册用户

显示注册用户的前台主要代码如下: {%block content%} <ul> {%for i in users%} <li><a href='/user/{{i[1]}}' class='text-success h4'>{{i[1]}}<small>({{i[3]}}星级)</small></a></li> {%end%} <br/> </ul> {%end%} 显示注册用户的后台代码如下: c

中小企业做网站首选方式:网站模板建站

网络技术的革新,建站技术的进步,使得市面上出现非常多的模板建站商,这也导致定制建站市场不断的被压缩.模板建站深受广大企业欢迎,必定有其原因的,既然企业选择模板建站,那模板建站肯定是可以满足到企业的建站需求.模板建站究竟为企业能带来什么样的优势呢? 网站模板专业性更加强 众所周知,企业网站建设是需要有非常专业的团队的,如果企业为了一个网站而花费大量的时间和精力组建团队,这样的效益是非常低的.如果使用模板建站,那就可以避免这个问题了,网站的模板都是由建站商专业的设计人员设计出来,美工水平都是相当高的

织梦DEDE系统建站 站长必备使用技巧 绝对的干货 掌柜呕心沥血总结

使用织梦dede已经有一段时间了,对于织梦的一些使用技巧,还是有的,并且非常重要,站长们,百分之九十九都会遇到的问题. 下面是技巧干货,请做好准备收藏. 当验证码不显示或者不需要验证码的时候,除了可以从后台设定之外,还可以修改 :"data/safe/inc_safe_config.php"第二行:"$safe_gdopen = '1,2,3,4,5,6,7';" 把里面的6去掉即可,去掉后是:"$safe_gdopen = '1,2,3,4,5,7';&

从购买服务器到建站,从0打造自己的网络领地。

记得当年我萌生出要建立一个自己的网站的时候,在网络上搜索了很多教程,但是都不怎么能看懂,于是建站这个事情折腾了我很长的时间.在学习了很多知识之后,我终于能够熟练的从0到1建立一个安全可靠的站点.现在把我的经验分享给各位刚入坑的伙伴,希望新手不用像我当年一样为建站苦恼.----------------------第一部分--------------------简单介绍云服务--------------------------------------------------要想建立一个网络站点,前提

Python快速建站系列-Part.One-组装开发环境

源代码都在github上:https://github.com/SSSDOG/SmallStudyStation 既然是用Python快速建站,第一步选择框架,鉴于Django有点复杂对新手不是很友好所以选择Tornado,数据库的话用MongoDB. 建站也少不了前端,我是用的bootstrap,从http://www.bootcss.com/这里下载就行,或者直接用它提供的CDN. 首先安装Python需要的模块 1 import tornado 2 import pymongo pymon