Обработка ошибок загрузки файлов в 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 была бы простой задачей. Но поскольку этот бэкэнд хранилища настроен в настройках только как хранилище для всех моих загруженных файлов, как мне обрабатывать ошибки? Должен ли я написать собственный бэкенд? Или, может быть, пользовательский обработчик загрузки файлов?
Любая помощь приветствуется.