我是python和编程的新手。
即使我将表单域验证器设置为Optional(),我仍然得到UploadNotAllowed错误。我的目标是允许用户选择上传或不上传头像。当选择要上传的镜像时,所有配置都工作正常。任何帮助都将不胜感激。
以下是表单域:
class SettingsForm(FlaskForm):
profile_pic = FileField('Profile Picture', validators= [Optional(), FileAllowed(images, 'Only images are allowed here')])这是我的views.py:
if form.validate_on_submit():
filename = images.save(request.files['profile_pic'])
current_user.profile_pic = images.url(filename)发布于 2017-09-19 16:55:45
这是文档中略有编辑的版本(here)。这也会提醒你html文件应该包含什么内容。
from flask_wtf import FlaskForm
from flask_wtf.file import FileField, FileRequired
from werkzeug.utils import secure_filename
class PhotoForm(FlaskForm):
photo = FileField(validators=[Optional(), FileAllowed(images, 'Only images are allowed here')])
@app.route('/upload', methods=['GET', 'POST'])
def upload():
if form.validate_on_submit():
f = form.photo.data
filename = secure_filename(f.filename)
#you can replace this with wherever you want to save your images
f.save(os.path.join(
app.instance_path, 'photos', filename
))
current_user.profile_pic = images.url(filename)
return redirect(url_for('index'))
return render_template('upload.html', form=form)https://stackoverflow.com/questions/46295803
复制相似问题