首页 > 解决方案 > 下一页/上一页不适用于 Django 分页

问题描述

我希望有人可以帮助我解决分页问题。

我正在尝试按照此页面上的信息使用 Django 分页(https://docs.djangoproject.com/en/2.2/topics/pagination/)。虽然我已在第一页上成功显示正确数量的项目并且最后一页有效,但下一页和上一页继续将我带到第一页。

我认为问题可能与“请求”元素有关,我不确定我是否选择了不正确的版本。该示例指出:-

def listing(request):
    contact_list = Contacts.objects.all()
    paginator = Paginator(contact_list, 25) # Show 25 contacts per page
    page = request.GET.get('page')
    contacts = paginator.get_page(page)
    return render(request, 'list.html', {'contacts': contacts})

命令:

page = request.GET.get(‘page’)

返回“AttributeError: 'Request' 对象没有属性 'GET'”</p>

通过将此代码替换为:

page = request.args.get('page', type=int)

代码成功呈现第一页(和最后一页),但下一页和上一页不起作用。

作为背景,我在 Flask megatutorial 上构建了我的系统,但我无法使用该分页,我理解是因为我没有使用 Flask SQL Alchemy 来创建和更新数据库。我的路线文件有

from flask import request 

我应该用另一个实用程序的“请求”替换它吗?如果是,是哪个?

标签: pythondjangopagination

解决方案


似乎问题出在 HTML 文件中的缺失 () 中:-

    <a href="?page={{ userlist.next_page_number }}">  next</a>

示例中列出的应该是:

    <a href="?page={{ userlist.next_page_number() }}">  next</a>

推荐阅读