新手请教一个问题。例如用户在网站上进行一次搜索,返回符合的结果有七条,我希望一页只显示五条结果,将所有的结果分两页显示。
目前做了这些工作:
一、修改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 先谢谢大家了!