下一页/上一页不适用于Django分页

时间:2019-11-11 16:23:14

标签: python django pagination

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

我正在尝试按照本页上的信息(https://docs.djangoproject.com/en/2.2/topics/pagination/)使用Django分页。虽然我已经成功地在首页上显示了正确数量的项目,而最后一页仍然有效,但下一页和上一页仍将我带到首页。

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

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'”

通过将此代码替换为:

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

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

作为背景,我在Flask大型教程上构建了系统,但是我无法使用该分页功能,我了解到,因为我没有使用Flask SQL炼金术来创建和更新数据库。我的路线文件有

from flask import request 

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

1 个答案:

答案 0 :(得分:0)

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

    <a href="?page={{ userlist.next_page_number }}">  next</a>
示例中列出的

应该是:

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