Обработка ошибок загрузки файлов в Django с помощью DO/S3

Я использую django-storages с DO/S3 для загрузки файла из curl (позже это будет Java-клиент):

curl -F some_file=@some_file.txt -F name=some_file --referer https://localhost:8000 -k -i https://localhost:8000/file/request

Настроен бэкенд хранилища:

storages.backends.s3boto3.S3Boto3Storage

Поле моей модели:

some_file = models.FileField('Some file', blank=True, null=True,
                             upload_to=some_file_path)

Все это работает нормально. Я могу отправить POST запрос с файлом и он загружается в нужное место.

Я пытаюсь разобраться с обработкой ошибок. Поскольку я полагаюсь на сторонние CDN (DO) и библиотеку (boto3) для плавной загрузки файлов, как мне обрабатывать ошибки, если загрузка не удалась? Я искал в документации Django, DO, django-storages и AWS и не нашел хорошего ответа.

Я хотел бы обрабатывать неудачные загрузки удобным для пользователя способом, но я даже не уверен, как проверить этот сценарий. Если бы я вызывал эту загрузку файла в представлении, обработка ошибок в блоке try была бы простой задачей. Но поскольку этот бэкэнд хранилища настроен в настройках только как хранилище для всех моих загруженных файлов, как мне обрабатывать ошибки? Должен ли я написать собственный бэкенд? Или, может быть, пользовательский обработчик загрузки файлов?

Любая помощь приветствуется.

Вернуться на верх