ngu*_*yên 26 django csrf jinja2
在Django模板中,我使用了:
<form action="/user" method="post">{% csrf_token %}
{{ form.as_p|safe }}
<input type="submit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
但是当我改为jinja2 template engine:
Encountered unknown tag 'csrf_token'
Run Code Online (Sandbox Code Playgroud)
我的问题:csrf_token protection在jinja2需要?
如果需要,怎么做?
提前致谢!
Gui*_*sco 37
似乎Jinja2的工作方式不同:
使用<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
其中Django模板使用{% csrf_token %}
来源:http://exyr.org/2010/Jinja-in-Django/
lso*_*wen 28
我知道这是一个老问题,但是我想用正确的方法更新它,以便csrf_token在使用django.template.backends.jinja2.Jinja2Django 1.8+中的新功能时提供支持.使用django模板后端你会调用{% csrf_token %},但是使用Jinja2后端你将使用它来调用它{{ csrf_input }}(你可以使用令牌值而不是令牌输入{{ csrf_token }}).
您可以在源中查看详细信息django.template.backends.jinja2.Jinja2