【发布时间】:2021-09-03 03:17:27
【问题描述】:
我正在尝试通过 WTForm 保存多个文件。由于没有关于如何使用 MultipleFileField 的文档,我查看了 SO 并遇到了多个答案。 This 一个看起来很有希望,但它不起作用。 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)
【问题讨论】:
-
你的表单有
enctype = "multipart/form-data"属性吗? -
它没有,我认为它会在表单中使用 MultipleFileField 时自动添加。
-
我不确定,WTF 可以根据需要创建表单字段,但您仍应在页面中添加
标签: python flask flask-wtforms wtforms