编程语言
首页 > 编程语言> > python – WTforms:错误“字段不存在”

python – WTforms:错误“字段不存在”

作者:互联网

嗨,我有一个表格类,如下所示: –

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不是检查的正确方法
文件名的存在

最佳答案:

最后解决了这个问题,不得不用field.file替换验证器中的field.data,然后使用field.file.filename访问它的属性.

标签:python,forms,flask,wtforms,flask-wtforms
来源: https://codeday.me/bug/20190515/1110272.html