我正在尝试将Django应用程序更新到v1.6。当我替换已弃用的
时return object_list(request, template_name='generic_list.html', *args, **kwargs)
与
return ListView.as_view(template_name='generic_list.html', *args, **kwargs)
我收到此错误:
AttributeError at /assets/asset/list/
'function' object has no attribute 'status_code'
Request Method: GET
Request URL: `http://127.0.0.1:8000/assets/asset/list/`
Django Version: 1.6
Exception Type: AttributeError
Exception Value:
'function' object has no attribute 'status_code'
Exception Location: c:\Program Files (x86)\Python\lib\site-packages\django\middleware\locale.py in process_response, line 41
我做错了什么?
答案 0 :(得分:2)
您没有这么说,但您似乎在现有视图的末尾使用通用视图。您通常不会使用基于类的通用视图:它们的全部要点是您可以通过子类扩展它们,以这种方式添加您自己的功能。
但是,你可以通过实际调用视图来在短期内修复你的即时错误:你在这里做的只是创建视图对象(它本身是可调用的)。您仍然需要调用该对象,并将请求和任何参数传递给它:
view = ListView.as_view(template_name='generic_list.html')
return view(request, *args, **kwargs)
但正如我所说,我不建议这样做:你应该继承ListView并扩展它。