属性错误:“QueryDict”对象没有属性“iterlists”

2024-10-06 12:34:17 发布

您现在位置:Python中文网/ 问答频道 /正文

 context = {
        'form': form,
        'adv_form': adv_form,
        'shown': shown,
        'models': models_filter,
        'types': types_filter,
        'devices': dev_dict,
        'username': request.user.username,
        'request': dict(request.GET.iterlists()),
        'page': page_results,
        'paginator': paginator,
        'page_range': page_range,
        'query': query,
        'status':status,
        'suggestion': None,
        'myartifacts': myartifacts,
    }

一旦我将应用程序从Python2.7迁移到Python3.6,就会出现崩溃。('request':dict(request.GET.iterlists()) 有人能帮我解决这个问题吗


Tags: formgetmodelsrequestpageusernamerangefilter
3条回答

iterlists()是基于Py2构建的QueryDict的未记录函数。改用dict(request.GET.lists())

阅读简短描述here

Python 2->;3约定是将所有iterX方法重命名为X,所以将dict(request.GET.iterlists())更改为dict(request.GET.lists())

Django docs

在文档中,iterlists()似乎只适用于Python 2

https://docs.djangoproject.com/en/1.11/ref/request-response/#django.http.QueryDict.iterlists

我的假设是,您可能会使用lists()来代替Python 3

https://docs.djangoproject.com/en/1.11/ref/request-response/#django.http.QueryDict.iterlists

希望有帮助

相关问题 更多 >