您好我有一个类似于下面的表单类: -
class UserCreateForm(wtf.Form):
name=wtf.TextField('Name',validators=[validators.Required(),username_check])
email=wtf.TextField('Email')
userimage=wtf.FileField(u'Upload Image',validators=[checkfile])
自定义验证器函数“checkfile”如下所示: -
def checkfile(form,field):
if field.data:
filename=field.data.lower()
ALLOWED_EXTENSIONS = set(['png', 'jpg', 'jpeg', 'gif'])
if not ('.' in filename and filename.rsplit('.',1)[1] in ALLOWED_EXTENSIONS):
raise ValidationError('Wrong Filetype, you can upload only png,jpg,jpeg,gif files')
else:
raise ValidationError('field not Present') # I added this justfor some debugging.
但是我发现即使我在模板中浏览文件也是如此 点击提交,它总是引发错误“字段不存在”。我是一个 这里有点困惑。 field.data不是检查的正确方法 存在文件名
答案 0 :(得分:7)
最后解决了此问题,必须使用field.data
替换验证程序中的field.file
,然后使用field.file.filename
访问其属性。