|
5鱼币
def cs(request):
# for i in range(100):
# models.Userinfo.objects.create(name="11",password="ddq")
n = request.GET.get('q')
if n:
page = models.Userinfo.objects.filter(
Q(id__icontains=n) |
Q(name__icontains=n) |
Q(password__icontains=n) |
Q(age__icontains=n) |
Q(daa__icontains=n)
)
else:
page = models.Userinfo.objects.all()
print([s.id for s in page])
# return render(request, 'hrr.html', {'deat': page})
page = int(request.GET.get('ym',1))
pagesize= 17
start=(page - 1) * pagesize
end=page * pagesize
queryset = models.Userinfo.objects.all()[start:end]
total_cout = models.Userinfo.objects.all().count()
totalpagecount , div = divmod(total_cout,pagesize)
if div:
totalpagecount += 1
plus = 5
startpage= page - plus
endpage=page +plus + 1
if totalpagecount <= 2 * plus + 1:
startpage = 1
endpage = 2 * plus +1
else:
if page <= plus:
startpage = 1
endpage = 2* plus +1
else:
if (page + plus) > totalpagecount:
endpage = totalpagecount
startpage= totalpagecount - 2 * plus
else:
startpage = page - plus
endpage = page + plus
pagestrlist = []
pagestrlist.append('<li class="active"><a href="?ym={}">首页</a></li>'.format(1))
if page > 1 :
prev = '<li class="active"><a href="?ym={}">上一页</a></li>'.format(page - 1 )
pagestrlist.append(prev)
else:
prev = '<li class="active"><a href="?ym={}">上一页</a></li>'.format(1)
pagestrlist.append(prev)
for i in range(startpage,endpage +1 ):
if i == page:
ele = '<li class="active"><a href="?ym={}">{}</a></li>'.format(i,i)
else:
ele = '<li><a href="?ym={}">{}</a></li>'.format(i, i)
pagestrlist.append(ele)
if page < totalpagecount :
prev = '<li class="active"><a href="?ym={}">下一页</a></li>'.format(totalpagecount + 1 )
pagestrlist.append(prev)
else:
prev = '<li class="active"><a href="?ym={}">下一页</a></li>'.format(totalpagecount)
pagestrlist.append(prev)
pagestrlist.append('<li class="active"><a href="?ym={}">尾页</a></li>'.format(totalpagecount))
pagestrlost = mark_safe("".join(pagestrlist))
return render(request, 'hrr.html', {'deat': queryset,"ym":pagestrlost,'deat':page})
我想把分页改成这样 提示错误
values = list(values)
TypeError: 'int' object is not iterable
[25/Apr/2023 16:01:29] "GET /cs/ HTTP/1.1" 500 172891
这个是???????
根据您给出的代码和错误信息,问题出在这行代码:
- page = int(request.GET.get('ym',1))
复制代码
问题在于,您将整数类型的 `page` 赋值给了 `values` 变量,并尝试将其转换为列表,这会引发一个 TypeError,因为整数对象不是可迭代的。
不过根据您的代码,我没有看到您在哪里尝试将 `values` 转换为列表。您是否在其他地方调用了这段代码?
为了解决此问题,请确保在处理 `page` 变量时不要尝试将其转换为列表。请检查您的代码,找到可能引发错误的位置,并在那里修改代码。如果您无法找到此问题的根源,请提供更详细的代码信息,以便我们能够为您提供更有效的解决方案。
|
最佳答案
查看完整内容
根据您给出的代码和错误信息,问题出在这行代码:
问题在于,您将整数类型的 `page` 赋值给了 `values` 变量,并尝试将其转换为列表,这会引发一个 TypeError,因为整数对象不是可迭代的。
不过根据您的代码,我没有看到您在哪里尝试将 `values` 转换为列表。您是否在其他地方调用了这段代码?
为了解决此问题,请确保在处理 `page` 变量时不要尝试将其转换为列表。请检查您的代码,找到可能引发错误的位置,并在那里 ...
|