В 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'],

Другие вопросы по тегам