0

我使用 Djangos CSRF-Token 的方式主要是在互联网上描述的:

MyFormPage.html

<form method="POST">  
        {% csrf_token %}  
        {{ form.as_p }}  
</form>

但我想知道 - 有没有办法以某种方式直接将它包含在forms.py?

4

1 回答 1

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">
于 2019-09-13T11:17:07.400 回答