2010-10-30 34 views
5

Hi Tôi có một lớp mẫu trông giống như dưới đây: -WTforms: Lỗi "lĩnh vực không có mặt"

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]) 

Tục validator chức năng "checkfile" trông như thế này: -

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. 

Tuy nhiên Tôi thấy rằng mặc dù tôi duyệt một tệp trong mẫu và nhấp gửi, nó luôn làm tăng lỗi "trường không hiện diện". Tôi là ít bị nhầm lẫn ở đây. Là field.data không đúng cách để kiểm tra xem có sự hiện diện của tên tập tin

Trả lời

7

Giải Quyết này cuối cùng, đã phải thay thế field.data trong validator với field.file và sau đó truy cập thuộc tính của nó sử dụng field.file.filename.

+0

Bạn nên đánh dấu phần này là câu trả lời được chấp nhận. –

Các vấn đề liên quan