社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  问与答

Django分页问题 pagination

fittaoee • 9 年前 • 3734 次点击  

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

目前做了这些工作:

一、修改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
 
3734 次点击  
文章 [ 7 ]  |  最新文章 9 年前