有谁知道以下为什么我的模板可以正常呈现:
c= {'render_form' : form }
return render(request, 'page1.html', c)
但以下内容未呈现csrf令牌:
c= Context({'render_form' : form})
return render(request, 'page1.html', c)
模板如下所示:
<form method="post">
{% csrf_token %}
{{ render_form }}
<input type="submit" value="Submit" class='btn' id="submitbutton" name="_submit" />
</form>
我想保留render()
,我希望避免使用locals()
。
答案 0 :(得分:1)
取决于您的Django版本,但render方法用于获取两个与上下文相关的参数context
和context_instance
,后者需要Context
或RequestContext
个对象,第一本字典。该文档有一些特定的弃用细节:
https://docs.djangoproject.com/en/1.8/topics/http/shortcuts/#optional-arguments