Cloudinary загрузка изображения из панели администратора Django из двух или более баз данных
Всем привет. Я решил использовать Cloudinary для хранения изображений. Вот поле моей модели с изображением:
avatar = models.ImageField(upload_to='avatar/', default='avatar/default.png', blank=True)
У меня все работает нормально, но есть одна маленькая проблема. Когда я загружаю изображение из панели администратора, cloudinary загружает его в мою папку cloudinary 'avatar' с измененным именем, например: 'july2022_kda4th' или 'july2022_aidkdk'. Но когда я загрузил это изображение из панели администратора другой базы данных (production), cloudinary загрузил изображение с другим именем. Таким образом, у меня есть два одинаковых изображения в cloudinary. Это не очень удобно. Как я могу это исправить?
По умолчанию, если вы не указываете public_id в вызове API upload, активу присваивается случайная строка. Подробнее можно прочитать здесь: https://cloudinary.com/documentation/upload_images#public_id.
Похоже, вы хотите использовать имя файла актива в качестве public_id, поэтому вы можете сделать следующее:
- В формах, установленных
use_filename=true
иunique_filename=false
, как описано в этой ссылке
ИЛИ если вышеуказанное не работает, вы можете
- Создайте предустановку загрузки https://cloudinary.com/documentation/upload_presets
- Включить
Use filename or externally defined Public ID:
опцию - Отключить
Unique filename:
- Установите эту предустановку в качестве API/UI по умолчанию (https://cloudinary.com/documentation/upload_presets#default_upload_presets) или включите ее
upload_preset
в вызов загрузки .