Как изменить хранилище файлов django по умолчанию на облачное хранилище для медиа -файлов?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как изменить хранилище файлов django по умолчанию на облачное хранилище для медиа -файлов?

Сообщение Anonymous »

Я работаю над проектом Django. Он работает нормально с локальным хранилищем и решил использовать облачное для хранения медиа-хранилища, а по какой-то причине хранилище файлов не переходит на облачное хранилище носителя. < /P>
Вот мой файл настройки.INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',

"listings",

"rest_framework",
"rest_framework_simplejwt",
"corsheaders",
'django_filters',

'cloudinary_storage',
'cloudinary',
]

# Cloudinary config
CLOUDINARY_STORAGE = {
"CLOUD_NAME": config("CLOUDINARY_CLOUD_NAME"),
"API_KEY": config("CLOUDINARY_API_KEY"),
"API_SECRET": config("CLOUDINARY_API_SECRET"),
}

cloudinary.config(
cloud_name = config('CLOUDINARY_CLOUD_NAME'),
api_key = config('CLOUDINARY_API_KEY'),
api_secret = config('CLOUDINARY_API_SECRET')
)

DEFAULT_FILE_STORAGE = 'cloudinary_storage.storage.MediaCloudinaryStorage'
< /code>
model.py file: < /p>
class Amenity(models.Model):
name = models.CharField(max_length=100, unique=True)
icon = models.ImageField(upload_to='amenity_icons/', null=True)
< /code>
Я попытался загрузить с панелью администратора. Он хранит локально, несмотря на настройки default_file_storage to 'cloudary_storage.storage.mediaCloudinaryStorage'
Конфигурация среды загружается правильно (я проверяется с помощью печати).
здесь вывод оболочки:
>>> from django.conf import settings
>>> from django.core.files.storage import default_storage
>>> print(settings.DEFAULT_FILE_STORAGE)
cloudinary_storage.storage.MediaCloudinaryStorage
>>> print(default_storage.__class__)

< /code>
Я буду работать, если вручную укажу хранение в каждом поле изображения в каждой модели.from cloudinary_storage.storage import MediaCloudinaryStorage

class Amenity(models.Model):
name = models.CharField(max_length=100, unique=True)
icon = models.ImageField(
upload_to='amenity_icons/',
null=True,
storage=MediaCloudinaryStorage
)


Подробнее здесь: https://stackoverflow.com/questions/796 ... edia-files
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»