Проверка загружаемого файла на размер и формат
Загружаю изображение при помощи generics.ListCreateAPIView. Как лучше организовать проверку файла на размер и формат?
Если под форматом понимается тип файла, то это можно сделать с помощью валидатора на FileField. Например,
def is_json_file(value):
if value.content_type != 'application/json' \
or not value.name.endswith('.json'):
raise forms.ValidationError(
'Not a JSON file', code='content_type'
)
class ImportJSONForm(forms.Form):
content_json = forms.FileField(
label='JSON contents',
validators=[is_json_file]
)
Ограничить размер загружаемых файлов можно с помощью настройки FILE_UPLOAD_MAX_MEMORY_SIZE.