我正在使用 Amazon AWS S3,并尝试将我的 Django 应用程序设置为部署在 Heroku 上,并使用django-storages
包(也使用boto
)设置静态和媒体文件。
我的 settings.py 包括以下内容:
DEBUG = False
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
if not DEBUG:
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_STORAGE_BUCKET_NAME = os.environ['AWS_STORAGE_BUCKET_NAME']
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
S3_URL = 'http://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
STATIC_URL = S3_URL
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'
INSTALLED_APPS += (
'storages',
)
django-storages
但是,当我登录控制台查看是否设置了默认存储时,根据入门指南,我没有得到我应该得到的东西。
这是我的 shell 会话中的一个示例:
>>> from django.core.files.storage import default_storage
>>> print default_storage.__class__
<class 'django.core.files.storage.DefaultStorage'>
根据指南,我应该得到这个:
>>> from django.core.files.storage import default_storage
>>> print default_storage.__class__
<class 'S3Storage.S3Storage'>
我尝试将我的 settings.py 导入交互式 shell。没运气。但是,我的其他 AWS 设置存储得很好,例如 S3_URL,它正在检索 env 变量并插入到亚马逊 URL。
谁能给我一个线索?
TIA。