не может добавить FieldList в Flask-wtf более одного - PullRequest
5 голосов
/ 26 декабря 2011

У меня есть форма с 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 Ответ

4 голосов
/ 04 января 2012

Вы звоните на append_entry, отсутствуют данные.

Из Документации :

append_entry ([data])

Создайте новую запись с необязательными данными по умолчанию.

Записи, добавленные таким образом, не будут получать данные формы, но могут получать только данные объекта.

Если вы пытаетесь получитьданные, которые были отправлены в форме, вы можете попробовать использовать pop_entry.Или, по крайней мере, выполнить некоторую отладку и посмотреть, как выглядит form.attachment.entries.Содержит ли это значения?Что происходит, когда вы перебираете эти значения?

...