Django在设置问题中设置媒体存储

时间:2019-07-03 09:19:38

标签: django

在我的development.py设置中,我具有以下内容:

navigationController?.popViewController(animated: true)

在我的staging.py设置中,我有以下内容:

from django.core.files.storage import FileSystemStorage

...

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

development.py设置文件不会引起任何问题,并且存储文件工作正常。但是,导入暂存设置在此行from django_s3_storage.storage import S3Storage ... MEDIA_STORAGE = S3Storage(aws_s3_bucket_name=DOCUMENTS_BUCKET) 上中断,因此无法生成。在设置文件的外面,在使用它的models.py中,我有完全相同的一行。它正常工作。如果将其提取到设置中,应该用不同的方式写吗?

1 个答案:

答案 0 :(得分:0)

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'