2.X 中的 Django render()
Django render() in 2.X
我在尝试捕获 POST 数据时 运行 遇到了这个问题。
在 Django 1.X 中,我的视图结构如下:
def view_name(request, template_name='template.html'):
variable1 = data
variable2 = moreData
return render_to_response(template_name, locals(), context_instance=RequestContext(request))
现在,我发现 render_to_response() 已被弃用,但我不确定如何将代码移植到所有 locals() 调用中。
我是否必须通过构建包含所有所需变量的字典来转换我的所有视图?
是否有另一种方法来移植它以保留 locals() 合并?
谢谢!
您可以这样调用:
def view_name(request, template_name='template.html'):
variable1 = data
variable2 = moreData<br>
# …
return <b>render(request, template_name, locals())</b>
话虽如此,请不要使用locals()
。这使得你传递给模板的内容变得非常不清楚。此外,您通常会向模板传递比您想要的更多的东西。最后,大多数 IDE 会说某个变量未被使用,因此您可能会删除它,但实际上它在模板中被使用了。
我在尝试捕获 POST 数据时 运行 遇到了这个问题。
在 Django 1.X 中,我的视图结构如下:
def view_name(request, template_name='template.html'):
variable1 = data
variable2 = moreData
return render_to_response(template_name, locals(), context_instance=RequestContext(request))
现在,我发现 render_to_response() 已被弃用,但我不确定如何将代码移植到所有 locals() 调用中。
我是否必须通过构建包含所有所需变量的字典来转换我的所有视图?
是否有另一种方法来移植它以保留 locals() 合并?
谢谢!
您可以这样调用:
def view_name(request, template_name='template.html'):
variable1 = data
variable2 = moreData<br>
# …
return <b>render(request, template_name, locals())</b>
话虽如此,请不要使用locals()
。这使得你传递给模板的内容变得非常不清楚。此外,您通常会向模板传递比您想要的更多的东西。最后,大多数 IDE 会说某个变量未被使用,因此您可能会删除它,但实际上它在模板中被使用了。