使用Django format_html创建HTML表单时,我需要在下面csrf_token
的位置插入{% csrf_token %}
,因为使用{% csrf_token %}
当然不能替代使用format_html
:
res = format_html('''
<form method="POST">
{% csrf_token %}
{}
</form>''', ...
如何手动生成Django渲染HTML模板时插入的等效{% csrf_token %}
?
答案 0 :(得分:1)
找到基于其他SO帖子的解决方案,方法是添加csrf_token
的隐藏字段,如:
res = format_html('''
<form method="POST">
<input type="hidden" name="csrfmiddlewaretoken" value="{}" />
{}
</form>''', csrf(html_request)['csrf_token'], ...)