我有一个需要从字典中填充的 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
最佳答案
Flask-WTF automatically如果没有显式传递数据,则在路由发布到时传递 request.form
。您需要将数据作为 MultiDict
传递, 以防止自动行为。传递 obj
、data
或 **kwargs
,仅设置默认值,即 only used如果没有实际数据传递给表单。
form = MyForm(MultiDict(data))
关于python - 使用 Flask-WTF 时从字典填充 WTForms 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37124858/