在使用flask_wtf时使用的这个结构FieldList(FormField(SomeForm)) 报错:
'csrf_token': ['CSRF token missing']
因为FormField也是form,flask_wtf中引入的Form默认开启了csrf验证(flask_wtf.Form是 wtforms.ext.csrf.form.SecureForm的子类), 所以如下定义会报错:
from flask_wtf import Formclass SomeForm(Form): pass
解决:
from wtforms import Form as BaseFormclass SomeForm(BaseForm): pass
或(不太优美,不太推荐):
from flask_wtf import Formclass SomeForm(Form): def __init__(self, *args, **kwargs): kwargs['csrf_enabled'] = False Form.__init__(self, *args, **kwargs) pass
参考: