2010-10-30 11 views
5

Witam mam klasę postaci, która wygląda jak poniżej: -WTforms: Error "pole nie występuje"

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

Zwyczaj walidator Funkcja "checkfile" wygląda następująco: -

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. 

jednak Uważam, że mimo że przeglądam plik w szablonie i klikam przycisk "Wyślij", zawsze podnosi on "pole nieobecne" błędu. Jestem tutaj nieco zdezorientowany. Czy field.data nie właściwa droga, aby sprawdzić obecność nazwach

Odpowiedz

7

rozwiązał ten wreszcie musiał zastąpić field.data w walidator z field.file a następnie uzyskać dostęp do jego atrybutów za pomocą field.file.filename.

+0

Należy oznaczyć tę odpowiedź jako zaakceptowaną. –

Powiązane problemy