【问题标题】:WTforms: Error "field not present"WTforms:错误“字段不存在”
【发布时间】:2011-05-02 18:42:59
【问题描述】:

您好,我有一个如下所示的表单类:-

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

【问题讨论】:

    标签: python forms flask wtforms flask-wtforms


    【解决方案1】:

    终于解决了这个问题,必须将验证器中的field.data 替换为field.file,然后使用field.file.filename 访问其属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-13
      • 2021-08-21
      • 2021-09-28
      • 2021-09-27
      • 1970-01-01
      • 1970-01-01
      • 2013-02-28
      • 2012-12-03
      相关资源
      最近更新 更多