gpt4 book ai didi

python - Django 分页器引发 TypeError

转载 作者:行者123 更新时间:2023-11-28 23:04:00 26 4
gpt4 key购买 nike

我正在尝试使用包含在标准分发版本 1.3 中的 django 分页模块。

当尝试加载当前由分页控制的页面时,如果我不在 uri 中包含 ?page=,它会抛出 TypeError。我以前从未遇到过这种情况,也看不出有任何原因会发生。

这是我目前的观点:

paginator = Paginator(mails_list, 25) # Shows 25 mails per page

page = request.GET.get('page')
try:
mails = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver the first page.
mails = paginator.page(1)
except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of results
mails = paginator.page(paginator.num_pages)

类型错误:

int() argument must be a string or a number, not 'NoneType'

上述代码的第 3 行出现错误:

mails = paginator.page(page)

之前有人目睹过这个错误和/或知道如何纠正它吗?

最佳答案

尝试改变这一行:

page = request.GET.get('page')

对此:

page = request.GET.get('page', '1')

问题是您获得了一个不存在的参数。使用 [] 进行索引会导致 KeyError,但 get 方法如果不存在则返回 None .分页器正在调用 int(None),但失败了。

get 方法的第二个参数是在键不存在时返回的默认值,而不是 None。我传递了 '1'int 不应失败。

关于python - Django 分页器引发 TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8089916/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com