我有一个3种形式的Web应用程序。 2从flask_wtf.form.Form继承,它本身是从WTForms SecureForm获得的。这意味着这些表单具有自动CSRF保护。在WTForms-Alchemy中使用CSRF保护
第三种形式从模型对象继承它的属性,并继承自wtforms_alchemy.ModelForm,它本身从wtforms.Form继承。
如何将CSRF保护添加到最后一个表格中?
我有一个3种形式的Web应用程序。 2从flask_wtf.form.Form继承,它本身是从WTForms SecureForm获得的。这意味着这些表单具有自动CSRF保护。在WTForms-Alchemy中使用CSRF保护
第三种形式从模型对象继承它的属性,并继承自wtforms_alchemy.ModelForm,它本身从wtforms.Form继承。
如何将CSRF保护添加到最后一个表格中?
对我来说有效的是在flask_wtf包中的Form中混合。
from flask_wtf import Form
class YourForm(ModelForm, Form):
结果也有一个有效的隐藏的CSRF令牌。
对我来说有效的是在flask_wtf包中配置flask_wtf.csrf中进行混合。
PY
from flask_wtf.csrf import CSRFProtect
....
csrf = CSRFProtect(app)
class UserForm(ModelForm):
class Meta:
model = User
....
userform = UserForm()
HTML
<form method="post">
{{ userform.csrf_token }}
{{ userform.userform }}
<input type="submit" name="submit">
</form>
结果也有一个有效的隐藏CSRF令牌。
我明白你在问什么,但是看到你所描述的具体例子会更有帮助。请考虑在您的问题中添加一些代码。 – davidism
不知道我可以发布什么代码。我需要一个ModelForm来包含CSRF隐藏令牌。而已。 – ruipacheco