Py学习  »  问与答

Django分页问题 pagination

fittaoee • 8 年前 • 3209 次点击  

新手请教一个问题。例如用户在网站上进行一次搜索,返回符合的结果有七条,我希望一页只显示五条结果,将所有的结果分两页显示。

目前做了这些工作:

一、修改views.py文件: 1)在views.py开头加入了from django.core.paginator import Paginator, PageNotAnInteger 2)在对应页面的部分加入与分页有关的代码:

paginator = Paginator(results, 5)
page = request.GET.get('page')

try:
        results = paginator.page(page)
except PageNotAnInteger:
        results = paginator.page(1)

二、修改HTML文档: 接下来我又在HTML文档相应的部分加入了:

{% if results.has_previous %}
   <a href="?page={{results.previous_page_number}}">上一页</a>
{% endif %}

Page {{ results.number }} of {{ results.paginator.num_pages }}

{% if results.has_next %}
   <a href="?page={{results.next_page_number}}">下一页</a>
{% endif %}

修改完后,页面返回了五条结果,相应位置显示出了 “Page 1 of 2 下一页 “ ,但当我点击”下一页“ 时,页面却跳转到了网站首页,而没有像预想的那样继续显示下一页结果。请问是哪里出了问题呢?

现在页面对应的url是:

url(r'^search_results/', 'site.views.search_results', name='search_results'),

请问是否需要在url第一部分后面加入正则表达式? 使用的版本是Django 1.8 先谢谢大家了!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/1243
 
3209 次点击  
文章 [ 7 ]  |  最新文章 8 年前