如何将 csrf_token 添加到手动创建的 HTML 表单?

How to add csrf_token to manually created HTML form?

当使用 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 %} 的等价物?

根据其他SOpost找到解决方案,方法是添加一个隐藏字段csrf_token,如:

res = format_html('''
<form method="POST">
  <input type="hidden" name="csrfmiddlewaretoken" value="{}" />
  {}
</form>''', csrf(html_request)['csrf_token'], ...)