django分页错误:AttributeError:'WSGIRequest'对象没有属性'Get'

时间:2020-10-03 18:05:54

标签: django

我在使用django分页时遇到困难。有人可以帮我这个忙吗?

此视图返回错误:

def view_homePage(request, user):
if user == 'all':
    posts = Post.objects.order_by("-timestamp").all()
    paginator = Paginator(posts, 2)
        
    ERROR ---> page_number = request.Get.get('page') or 1
    page_obj = paginator.get_page(page_number)
    return JsonResponse([post.serialize() for post in page_obj], safe=False)

我得到的错误是:AttributeError: 'WSGIRequest' object has no attribute 'Get'

如果我删除该行并仅设置page_number = 1进行测试,则会遇到一系列新问题。我实际上如何将页码从html页面传递到视图? 我尝试将其添加以进行测试,但无法正常工作:

<nav aria-label="...">
     <ul class="pagination">
         <li class="page-item"><a class="page-link" 
               href="?page=3">3</a>
         </li>
     </ul>
 </nav>

在上面的代码中,我对第3页进行了硬编码,仅用于测试,但未进入视图。我该怎么办? django文档在这方面缺乏。

1 个答案:

答案 0 :(得分:1)

查询字符串存储在QueryDict的{​​{3}}中的request中,因此:

page_number = request.GET.get('page') or 1

请注意,Django的标识符区分大小写,因此.GET.Get是不同的。