Django настройка хранилища мультимедиа в настройках выпуска - PullRequest
0 голосов
/ 03 июля 2019

В моих настройках development.py у меня есть следующее:

from django.core.files.storage import FileSystemStorage

...

MEDIA_STORAGE = FileSystemStorage(location='/Users/myuser/myfolder')

и в моих настройках staging.py у меня есть это:

from django_s3_storage.storage import S3Storage

...

MEDIA_STORAGE = S3Storage(aws_s3_bucket_name=DOCUMENTS_BUCKET)

Файл настроек development.py вызываетбез проблем и хранения файлов работает нормально.Однако при импорте промежуточных настроек в этой строке разрывается MEDIA_STORAGE = ..., поэтому сборка невозможна.У меня была та же самая строка вне файла настроек, в файле models.py, где он используется.Работало нормально.Должно ли оно быть написано по-другому, если оно извлечено в настройках?

1 Ответ

0 голосов
/ 03 июля 2019

Проблема возникает при импорте from django_s3_storage.storage import S3Storage в settings.py. Вероятно, для проблем круговой зависимости (я не уверен).

Но вы можете написать новый класс хранения, например, так:

# utilities/storages.py

from storages.backends.s3boto3 import S3Boto3Storage

class MediaRootS3Boto3Storage(S3Boto3Storage):
    location = 'media'

Тогда используйте его в настройках:

MEDIA_STORAGE = 'utilities.storages.MediaRootS3Boto3Storage'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...