首页 > 其他 > 详细

django paginator实现分页

时间:2016-03-10 23:39:07      阅读:356      评论:0      收藏:0      [点我收藏+]

今天用django-pagination实现分页,鼓捣了半天以失败告终,个人觉得是django-pagination最新版本和django不兼容,按照官方文档的案例来也不行。

最终用paginator成功实现分页,paginator为django自带的组件,不需要额外安装。

 

修改blog/views.py

from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.shortcuts import render

blogs = mySql.queryBlog()
paginator = Paginator(blogs, 2)# Show 2 blogs per page
page = req.GET.get(page)
try:
    currentPageBlogs = paginator.page(page)
except PageNotAnInteger:
    # If page is not an integer, deliver first page.
    currentPageBlogs = paginator.page(1)
except EmptyPage:
    # If page is out of range (e.g. 9999), deliver last page of results.
    currentPageBlogs = paginator.page(paginator.num_pages)
return render(req, checkblog.html, {blogs: currentPageBlogs})

 

修改checkblog.html

{% for blog in blogs %}
        <p>
         <a href={{blog.1}} >{{blog.2}}</a>
         <span class="blogTime">{{blog.4}}</span>
          </p>
{% endfor %}

<div class="pagination">
        <span class="step-links">
            {% if blogs.has_previous %}
             <a href="?page={{ blogs.previous_page_number }}">previous</a>
            {% endif %}

            <span class="current">
            Page {{ blogs.number }} of {{ blogs.paginator.num_pages }}
            </span>

            {% if blogs.has_next %}
            <a href="?page={{ blogs.next_page_number }}">next</a>
            {% endif %}
        </span>
</div>

 

测试页面

技术分享

 

参考:https://docs.djangoproject.com/en/1.9/topics/pagination/

django paginator实现分页

原文:http://www.cnblogs.com/onmyway227/p/5263759.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!