提交失败后,Flask-WTF Filefield值消失

时间:2015-08-23 07:48:26

标签: python flask wtforms filefield

我的表格定义如下

class DogForm(Form):
    birthdate = DateField(u'Birthdate', validators=[DataRequired(message=u"User correct form D.M.Y")], format='%d.%m.%Y')
    image = FileField(u'Image of a dog', validators=[Optional()])
    submit = SubmitField(u'Save')

这样的模板

{{ wtf.form_field(dogForm.birthdate) }}
{{ wtf.form_field(dogForm.image) }}
{{ wtf.form_field(form.submit) }}

在提交时,如果生日是以错误的形式提供的,

form.validate_on_submit()

停止验证过程并返回生日错误

视图

form = dogForm()
if form.validate_on_submit():
    add_dog(form)

return render_template("dog.html", form=form)

我的问题是来自FileField的文件路径在重新加载的表单中消失,我无法将其设置为像其他值一样

form.image.data = "somepath.."

1 个答案:

答案 0 :(得分:0)

请记住将HTML表单的enctype设置为multipart / form-data

<form  method="POST" enctype="multipart/form-data">
    ....
</form>

有关详细信息,请查看以下链接:

http://pythonhosted.org/Flask-WTF/form.html