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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

 

 



 

以上是关于django1.8.2 建站实现分页显示功能的主要内容,如果未能解决你的问题,请参考以下文章

如何使用asp.net代码实现分页功能

前端js分页功能的实现,非常实用,新手必看

帝国cms的内容页面如何分页,把一片文章按照指定的字数分成几页,如何设定每页显示多少字符?

课上测试-实现分页显示和模糊查询(代码部分)

js实现分页

Django中使用JS通过DataTable实现表格前端分页,每页显示页数,搜索等功能