鱼C论坛

 找回密码
 立即注册
查看: 1763|回复: 1

[已解决]'int' object is not iterable

[复制链接]
发表于 2023-4-25 16:02:34 | 显示全部楼层 |阅读模式
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
这个是???????
最佳答案
2023-4-25 16:02:35
根据您给出的代码和错误信息,问题出在这行代码:

  1. page = int(request.GET.get('ym',1))
复制代码


问题在于,您将整数类型的 `page` 赋值给了 `values` 变量,并尝试将其转换为列表,这会引发一个 TypeError,因为整数对象不是可迭代的。

不过根据您的代码,我没有看到您在哪里尝试将 `values` 转换为列表。您是否在其他地方调用了这段代码?

为了解决此问题,请确保在处理 `page` 变量时不要尝试将其转换为列表。请检查您的代码,找到可能引发错误的位置,并在那里修改代码。如果您无法找到此问题的根源,请提供更详细的代码信息,以便我们能够为您提供更有效的解决方案。

最佳答案

查看完整内容

根据您给出的代码和错误信息,问题出在这行代码: 问题在于,您将整数类型的 `page` 赋值给了 `values` 变量,并尝试将其转换为列表,这会引发一个 TypeError,因为整数对象不是可迭代的。 不过根据您的代码,我没有看到您在哪里尝试将 `values` 转换为列表。您是否在其他地方调用了这段代码? 为了解决此问题,请确保在处理 `page` 变量时不要尝试将其转换为列表。请检查您的代码,找到可能引发错误的位置,并在那里 ...
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-4-25 16:02:35 | 显示全部楼层    本楼为最佳答案   
根据您给出的代码和错误信息,问题出在这行代码:

  1. page = int(request.GET.get('ym',1))
复制代码


问题在于,您将整数类型的 `page` 赋值给了 `values` 变量,并尝试将其转换为列表,这会引发一个 TypeError,因为整数对象不是可迭代的。

不过根据您的代码,我没有看到您在哪里尝试将 `values` 转换为列表。您是否在其他地方调用了这段代码?

为了解决此问题,请确保在处理 `page` 变量时不要尝试将其转换为列表。请检查您的代码,找到可能引发错误的位置,并在那里修改代码。如果您无法找到此问题的根源,请提供更详细的代码信息,以便我们能够为您提供更有效的解决方案。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-25 01:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表