Не может добавить FieldList в Flask-wtf более одного
У меня есть форма с 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
1 ответ
Вы звоните append_entry
отсутствует это данные.
Из документации:
append_entry ([данные])
Создайте новую запись с необязательными данными по умолчанию.
Однако записи, добавленные таким образом, не будут получать данные формы и могут получать только данные объекта.
Если вы пытаетесь получить данные, которые были представлены в форме, вы можете попробовать использовать pop_entry
, Или, по крайней мере, сделать некоторую отладку и посмотреть, что form.attachment.entries
похоже. Содержит ли он значения? Что происходит, когда вы перебираете эти значения?