django paginator实现分页
今天用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>
测试页面
posted on 2016-03-10 22:19 onmyway227 阅读(224) 评论(0) 收藏 举报
浙公网安备 33010602011771号