Мой класс UploadForm:
from app import app
from flask_wtf.file import FileRequired, FileAllowed
from wtforms.fields import MultipleFileField
from wtforms.validators import InputRequired,DataRequired
class UploadForm(FlaskForm):
.
.
.
roomImage = MultipleFileField('Room',validators=[FileAllowed(['jpg', 'png'], 'Image only!'), FileRequired('File was empty!')] )
.
.
.#there are other fields here which are not relevant to the problem at hand
HTML Шаблон
{% extends "base.html" %}
{% block content %}
<h1>Upload Your Images</h1>
<form action="/" enctype="multipart/form-data" method="post" >
{{ form.csrf_token }}
Room<br />
{{form.roomImage()}}
.
.
. <MORE THINGS THAT I HAVE EDITED OUT>
{{form.submit()}}
<br/>
{% if form.errors %}
{{ form.errors }}
{% endif %}
</form>
{% endblock %}
hosts.py для запуска проверки на проверку
def upload_image():#NEEDS HEAVY FIXING
"""home page to return the web page to upload documents"""
form = UploadForm()
if form.validate_on_submit():
Использование отладки VS Инструменты, я считаю, что form.validate_on_submit () не работает и всегда не проходит проверку, и я получаю эту ошибку на моей html странице.
{'roomImage': ['Файл был пуст! ']}
Существует еще один элемент управления MultipleFileField с почти таким же кодом. Эта проблема не возникает, когда я использую FileField для загрузки одного файла. Документация по этому вопросу очень ограничена, и все, что мне нужно было go, было это . Я действительно не знаю, как решить эту проблему. Я много искал, чтобы найти пример, включающий MultipleFileField, но они не используют никакой проверки. Поток на Github, который я больше не могу найти, предлагает использовать OptionalValidator, но тогда это не вариант для меня, и даже это не сработало. Может кто-нибудь предложить мне решение?
РЕДАКТИРОВАТЬ:
Даже валидатор FileAllowed () не работает.