我正在运行django应用程序并收到以下错误:
TypeError at /login
render_to_string() got an unexpected keyword argument 'status'
Request Method: GET
Request URL: http://10.107.44.122:8002/login?next=/
Django Version: 1.7.1
Exception Type: TypeError
Exception Value: render_to_string() got an unexpected keyword argument 'status'
Exception Location: /usr/local/lib/python2.7/dist-packages/django/shortcuts.py in render_to_response, line 23
Python Executable: /usr/bin/python
Python Version: 2.7.6
我能想到错误可能来自哪里的唯一地方是:
render_to_response('login.html', context, status=status, context_instance=RequestContext(request))
status
应该是render_to_response
的预期关键字,那么为什么会出现此错误?
答案 0 :(得分:3)
您可以使用render
快捷方式而不是render_to_response
。 render
方法在所有版本的Django中都采用status
参数。无论如何,这是一种更好的方法,因为您不需要提供RequestContext
。
from django.shortcuts import render
def my_view(request):
context ={'foo': 'bar'}
status = 200
return render(request, 'login.html', context, status=status)
答案 1 :(得分:2)