我使用 Djangos CSRF-Token 的方式主要是在互联网上描述的:
MyFormPage.html
<form method="POST">
{% csrf_token %}
{{ form.as_p }}
</form>
但我想知道 - 有没有办法以某种方式直接将它包含在forms.py
?
我使用 Djangos CSRF-Token 的方式主要是在互联网上描述的:
MyFormPage.html
<form method="POST">
{% csrf_token %}
{{ form.as_p }}
</form>
但我想知道 - 有没有办法以某种方式直接将它包含在forms.py
?
我不知道这是否是一个好习惯,但你可以这样做:
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">