码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-01-24 18:21:55      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

个人经验:

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

 

 

 



 

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

标签:

原文地址:http://www.cnblogs.com/hb91/p/5155482.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!