我有一个带有flask-wtf的表格用于上传一些图像,也可以是文件字段 多个
我的表格:
class ComposeForm(Form):
attachment = FieldList(FileField(_('file')), _('attachment'))
add_upload = SubmitField(_('Add upload'))
我的观点:
if form.validate_on_submit():
if form.add_upload.data:
form.attachment.append_entry()
return render_template('mailbox/compose.html', form=form)
else:
form.attachment.append_entry()
我的模板:
<form method="POST" enctype="multipart/form-data" action=".">
{% for field in form %}
{{field}}
{% endfor %}
</div>
当我在enctype="multipart/form-data"
格式中使用append_entry
不起作用时,只会追加一个字段
再次单击add_upload但刷新后我只有一个字段(不是两个)
我怎么能解决这个问题?没有错误,我认为因为enctype wtform忘记了多少字段我必须添加更多:D
答案 0 :(得分:4)
您致电append_entry
时遗漏了数据。
append_entry([data])
使用可选的默认数据创建一个新条目。
以这种方式添加的条目不会收到formdata,但只能接收对象数据。
如果您尝试获取表单上提交的数据,可以尝试使用pop_entry
。或者至少做一些调试并看看form.attachment.entries
的样子。它包含值吗?迭代这些值时会发生什么?