相关疑难解决方法(0)

如何使用flask-wtf上传多个文件?

我正在尝试使用flask-wtf上传多个文件。我可以毫无问题地上传单个文件,而且我已经能够将html标记更改为接受多个文件,但是到目前为止,我获得的文件还远远超过第一个文件。

附带的代码将给我第一个文件,但我不知道如何从中获取更多文件。我怀疑“ render_kw = {'multiple':True}”只是更改了HTML标签,因此我可能会用这种方法来弄错树。我也偶然发现了wtforms的“ MultipleFileField”,但似乎无法返回任何文件,再次可能是因为它与我要使用的flask_wtf配合不好。有什么好方法吗?

@app.route('/', methods=['GET', 'POST'])
def upload():
    form = Upload_Form(CombinedMultiDict((request.files, request.form)))
    if form.validate_on_submit():
        files = form.data_file.data
        files_filenames = secure_filename(files.filename)
        data.save(os.path.join(app.config['UPLOAD_FOLDER'], data_filename))
        print(files_filenames)
        return render_template('input_form.html', form=form)
    return render_template('input_form.html', form=form)

class Upload_Form(FlaskForm):
    data_file = FileField(render_kw={'multiple': True}, validators=[FileRequired(), FileAllowed(['txt'], 'text files only')])

<!--input_form.html--->
<form method=post enctype="multipart/form-data">
<table>
    {{ form.hidden_tag() }}
    {% for field in form %}
    <tr>
        <td>{% if field.widget.input_type != 'hidden' %} {{ field.label }} {% endif %}</td><td>{{ field }}</td>
    </tr>
    {% endfor %}
</table>
<p><input type=submit value=Compute></form></p> …
Run Code Online (Sandbox Code Playgroud)

python flask-wtforms

3
推荐指数
1
解决办法
1332
查看次数

标签 统计

flask-wtforms ×1

python ×1