WTforms: Errore “campo non presente”
-
27-09-2019 - |
Domanda
Ciao ho una classe form che appare come di seguito: -
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])
La funzione di convalida personalizzata "checkfile" si presenta come tale: -
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.
Comunque trovo che anche se sfoglio un file nel modello e Fare clic su Invia, solleva sempre il "campo non presente" errore. sono un po 'confuso qui. Non è field.data il modo giusto per verificare la presenza di la presenza di nomi di file
Soluzione
Risolto questo, infine, ha dovuto sostituire field.data
nel validatore con field.file
e quindi accedere ai suoi attributi utilizzando field.file.filename
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow