Django - форма проверки изображений при загрузке
Как очистить() изображение с его размером и расширением? Изображение хорошо загружается в db, но когда я пытаюсь получить clean_data, оно возвращает None.
Я установил такой же валидатор на модели и он работает хорошо, но только когда я загружаю изображение через adminsite.
forms.py:
class AdditionalInfoForm(forms.Form):
first_name = forms.CharField(label='First name', max_length=20)
last_name = forms.CharField(label='Last name', max_length=40)
male = forms.ChoiceField(label="Male", choices=MALES, required=False)
date_of_birth = forms.DateTimeField(label="Date of birth", required=False, widget=DateInput)
about = forms.CharField(label='Tell us about yourself', widget=forms.Textarea(), required=False)
image = forms.ImageField(label="Profile picture", required=False)
def clean_image(self):
avaible_formats = [
'png',
'jpeg',
'jpg',
]
img = self.cleaned_data.get('image')
print(img) #always None
if img:
img_ext = img.name.split(".")[-1]
if img.size > 4194304:
raise ValidationError("Image size must be less than 4MB")
if img_ext not in avaible_formats:
raise ValidationError("Image extension is not avaible")
return img