我使用的是Django的CSRF-Token,其用法在互联网上最为常见:
MyFormPage.html
<form method="POST">
{% csrf_token %}
{{ form.as_p }}
</form>
但是我想知道-有没有办法直接将其包含在forms.py
中?
答案 0 :(得分:1)
我不知道这是否是一个好习惯,但是您可以执行以下操作:
from django.middleware import csrf
class SomeForm(forms.Form):
csrfmiddlewaretoken = forms.CharField(widget=forms.HiddenInput(), initial=csrf._get_new_csrf_token())
呈现的输入字段将为:
<input type="hidden" name="csrfmiddlewaretoken" value="Hsw4uH5jbioQhaWrgAtGgEVp5GbnXIrayuvTqbbABaSxPbGJqksEIxVI4zJW8VVj" id="id_csrfmiddlewaretoken">