2.X中的Django render()

问题描述 投票:0回答:1

我在尝试捕获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()合并吗?

谢谢!

django django-views render
1个回答
0
投票

您可以通过以下方式致电:

def view_name(request, template_name='template.html'):
     variable1 = data
     variable2 = moreData 
     # …
     return render(request, template_name, locals())

话虽如此,请使用locals()。这使得您不清楚到底要传递给模板什么。此外,您传递给模板的次数将超过您想要的。最后,大多数IDE都会说未使用变量,因此您可以删除它,但实际上它已在模板中使用。

© www.soinside.com 2019 - 2024. All rights reserved.