我有一个包含3个表单的Web应用程序。 2继承自于flask_wtf.form.Form,它本身来自WTForms SecureForm。这意味着这些表单具有自动CSRF保护。
第3种形式从模型对象继承其属性,因此继承自wtforms_alchemy.ModelForm,它本身继承自wtforms.Form。
如何将CSRF保护添加到最后一种形式?
答案 0 :(得分:3)
对我有用的是从flask_wtf包中混合Form。
from flask_wtf import Form
class YourForm(ModelForm, Form):
结果还有一个有效的隐藏CSRF令牌。
答案 1 :(得分:0)
对我来说有用的是在flask_wtf包中配置flask_wtf.csrf。
吡啶
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令牌。