python - 使用 Flask-WTF 时从字典填充 WTForms 表单

标签 python flask wtforms flask-wtforms

我有一个需要从字典中填充的 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 传递, 以防止自动行为。传递 objdata**kwargs,仅设置默认值,即 only used如果没有实际数据传递给表单。

form = MyForm(MultiDict(data))

关于python - 使用 Flask-WTF 时从字典填充 WTForms 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37124858/

相关文章:

nginx - uWSGI/ flask : "no python application found, check your startup logs for errors"

python - Flask View 显示 400 错误,而不是带有表单的模板

python - WTForms 我可以在初始化字段时添加占位符属性吗?

python - 为 shutil.copy 文件创建目标路径

python - 按字符串的一部分对字符串列表进行排序

python - Python中BST反序列化的错误实现

python - 错误: TypeError: Object of type ColumnClause is not JSON serializable Python3

python - 使用Python比较两个文件夹以及里面的所有文件

javascript - 为什么 bson.dumps 转义我的字典列表(jsons)

python - 如何填充我的 WTForm 变量?