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,
}
将我的应用程序从python 2.7移到python 3.6后,我就崩溃了。 ('request':dict(request.GET.iterlists())) 谁能帮助我解决问题?
答案 0 :(得分:2)
Python 2-> 3约定是将所有iterX
方法重命名为X
,因此将dict(request.GET.iterlists())
更改为dict(request.GET.lists())
答案 1 :(得分:2)
iterlists()
是Py2上QueryDict构建的未记录函数。请改用dict(request.GET.lists())
。
阅读简短说明here
答案 2 :(得分:1)
在文档中似乎iterlists()仅适用于Python 2
https://docs.djangoproject.com/en/1.11/ref/request-response/#django.http.QueryDict.iterlists
我的假设是您可能会在Python 3的位置使用list()
https://docs.djangoproject.com/en/1.11/ref/request-response/#django.http.QueryDict.iterlists
希望有帮助