В Django, как можно получить доступ к полям файла в forms.py?
У меня есть этот класс формы в forms.py в моем приложении Django:
class EmailForm(EmailFormWithoutAttachment):
attachment = forms.FileField()
Я хотел бы получить доступ к файлу, загруженному в forms.py для проверки с помощью чистой функции для проверки его имени.
def clean_attachment(self):
if self.data['attachment'].name == "someFileName.txt":
raise forms.ValidationError('This file is not allowed.')
return self.data['attachment']
Однако проблема заключается в том, что ошибка указывает на то, что "вложение" не найдено в "QueryDict". Обязательный запрос. ФАЙЛЫ к форме подачи. Я также использую enctype="multipart/form-data" в моих формах. Мне было интересно, как правильно получить доступ к данным FileField в forms.py.
Спасибо.
1 ответ
Решение
Использование self.cleaned_data['attachment']
вместо self.data['attachment']
,