2010-10-30 95 views
5

您好我有一個窗體類看起來象下面這樣: -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不檢查 名

回答

7

解決了這個最後的存在以正確的方式,曾與field.file更換field.data的驗證,然後訪問使用field.file.filename其屬性。

+0

您應該將此標記爲接受的答案。 – 2010-11-13 02:30:07