سؤال

مرحبًا ، لدي فئة نموذجية تبدو أدناه:-

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 ليس الطريقة الصحيحة للتحقق من وجود أسماء الملفات

هل كانت مفيدة؟

المحلول

حل هذا أخيرًا ، كان عليه أن يحل محله field.data في المدقق مع field.file ثم الوصول إلى سماته باستخدام field.file.filename.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top