我有一个Flask-WTF表单需要从字典填充,我将其作为**kwargs
传递。该表单用于使用POST
方法访问的Flask路径。表单未验证,字段值为None
。如何将数据字典传递给我的表单然后验证呢?
@app.route('/submit', methods=['POST'])
def submit():
data = {'name': 'eee'}
form = MyForm(**data)
print(form.validate()) # False, name is required
print(form.name.data) # None
答案 0 :(得分:6)
Flask-WTF automatically在路由发布时传递request.form
。您需要将数据作为MultiDict
传递,以防止自动行为。传递obj
,data
或**kwargs
,只会设置默认值,如果没有真实数据传递给表单,则为only used。
form = MyForm(MultiDict(data))
答案 1 :(得分:-2)
您必须为构造函数使用数据参数。您还可以查看documentation
form = MyForm(data=data)