paginate_by 分页问题。

2016-05-22 13:18:16 +08:00
 hujianxin

在使用 django 实现分页问题,采用的是class-based views. 实例代码如下:

class IndexView(generic.ListView):
    template_name = 'blog/index.html'
    model = Article
    paginate_by = 20

但是每当加入paginate_by,就会出错,浏览器错误信息为:

EmptyPage at /blog/
That page number is less than 1
Request Method:	GET
Request URL:	http://localhost:8000/blog/
Django Version:	1.9.5
Exception Type:	EmptyPage
Exception Value:	
That page number is less than 1
Exception Location:	/home/hujianxin/.pyenv/versions/django-web/lib/python3.5/site-packages/django/core/paginator.py in validate_number, line 38
Python Executable:	/home/hujianxin/.pyenv/versions/django-web/bin/python
Python Version:	3.5.1
Python Path:	
['/home/hujianxin/Programming/personal-site',
 '/home/hujianxin/Dropbox/Programming/Spark/spark-1.6.1-bin-hadoop2.6/python',
 '/home/hujianxin/Programming/personal-site',
 '/home/hujianxin/.pyenv/versions/django-web/lib/python35.zip',
 '/home/hujianxin/.pyenv/versions/django-web/lib/python3.5',
 '/home/hujianxin/.pyenv/versions/django-web/lib/python3.5/plat-linux',
 '/home/hujianxin/.pyenv/versions/django-web/lib/python3.5/lib-dynload',
 '/home/hujianxin/.pyenv/versions/anaconda3-2.4.1/envs/django-web/lib/python3.5/site-packages/setuptools-20.7.0-py3.5.egg',
 '/home/hujianxin/.pyenv/versions/django-web/lib/python3.5/site-packages']
Server time:	Sun, 22 May 2016 05:13:56 +0000

还请有经验的大大帮忙看一下。

3029 次点击
所在节点    Django
1 条回复
hujianxin
2016-05-22 13:48:32 +08:00
找到原因了,原因是我在 html 文件中,没有判断 page_obj 时候存在前一页,我就使用 page_obj.previous_page_number 了。
但是呢,我把这一行注释掉,还是出现同样的错误,然后吧这一行完全删除,就不会这样的错误了,看来我对 django 模板的注释还是不熟,回去自习查查。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/280407

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX