[英]Django pagination is not working
在我完成2次之前的教程之后,现在分页不起作用,我得到以下错误
TypeError at /posts/
object of type 'method' has no len()
Request Method: GET
Request URL: http://127.0.0.1:8000/posts/
Django Version: 1.9.2
Exception Type: TypeError
Exception Value:
object of type 'method' has no len()
Exception Location: /Users/ray/Desktop/uply/my-server/lib/python3.5/site- packages/django/core/paginator.py in _get_count, line 77
Python Executable: /Users/ray/Desktop/uply/my-server/bin/python
Python Version: 3.5.1
Python Path:
['/Users/ray/Desktop/uply/my-server/src',
'/Users/ray/Desktop/uply/my-server/lib/python35.zip',
'/Users/ray/Desktop/uply/my-server/lib/python3.5',
'/Users/ray/Desktop/uply/my-server/lib/python3.5/plat-darwin',
'/Users/ray/Desktop/uply/my-server/lib/python3.5/lib-dynload',
'/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5',
'/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin',
'/Users/ray/Desktop/uply/my-server/lib/python3.5/site-packages']
Server time: Wed, 10 Feb 2016 23:25:54 -0500
这是我的views.py中的代码
def post_list(request):
queryset_list = Post.objects.all
paginator = Paginator(queryset_list, 25)
page = request.GET.get('page')
try:
queryset = paginator.page(page)
except PageNotAnInteger:
queryset = paginator.page(1)
except EmptyPage:
queryset = paginator.page(paginator.num_pages)
template = "posts/post_list.html"
name = "user"
context = {
"object_list": queryset,
"name": name
}
return render(request, template, context)
在过去的两个月中,我使用相同的最新版本的django和pyhthon完成了本教程的所有工作,并完成了本教程的各种变体。 到底是怎么回事? 这怎么可能是'method'类型的问题对象没有len()
我之前做过什么? 欢迎所有帮助。
all
一种方法:
queryset_list = Post.objects.all()
更改Post.objects.all到Post.objects.all()
def post_list(request):
queryset_list = Post.objects.all()
paginator = Paginator(queryset_list, 25)
page = request.GET.get('page')
try:
queryset = paginator.page(page)
except PageNotAnInteger:
queryset = paginator.page(1)
except EmptyPage:
queryset = paginator.page(paginator.num_pages)
template = "posts/post_list.html"
name = "user"
context = {
"object_list": queryset,
"name": name
}
return render(request, template, context)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.