wtforms:エラー「フィールドは存在しない」
-
27-09-2019 - |
質問
こんにちは私は以下のように見えるフォームクラスを持っています: -
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])
カスタムバリデーター関数「チェックファイル」は次のようになります: -
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
.
所属していません StackOverflow