我试图通过WTForm保存多个文件。由于没有关于您需要如何使用MultipleFileField的文档,所以我查看了它,并得到了多个答案。This one看上去很有希望,但它不起作用。file变量是一个字符串,因此代码不能工作。
class CreatePostForm(FlaskForm):
files = MultipleFileField('Upload files', validators={DataRequired()})
submit = SubmitField(_l('Submit'))@app.route('/create_post', methods=['GET', 'POST'])
@login_required
def create_post():
form = CreatePostForm()
if form.validate_on_submit():
files_filenames = []
for file in form.files.data:
file_filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], file_filename))
files_filenames.append(file_filename)
return redirect(url_for('index'))
return render_template('create_post.html', form=form)发布于 2021-06-20 18:21:43
结果显示,MultipleFileField没有向html表单中添加enctype="multipart/ form -data“属性。你必须手动完成这件事。
所以上面的代码适用于这个html页面。
<form action="" method="post" class="form" role="form" enctype="multipart/form-data">
{{ wtf.quick_form(form) }}
</form>https://stackoverflow.com/questions/68034243
复制相似问题