2013-07-19 71 views
2

我正在使用亚马逊AWS S3,并试图设置我的Django应用程序部署在Heroku上,并使用django-storages包(它也使用boto)设置静态和媒体文件。不能让django存储设置defaultStorage

我的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-storagesgetting started guide获得。

下面是从我的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变量并插入到amazon URL中。

任何人都可以给我一个线索吗?

TIA。

回答

0

你安装了boto吗?如果boto安装不正确,django-storages可能会将您重新设置为默认存储类,如果它无法正确导入boto。

+0

是的,我已经通过pip安装了boto 2.9.8。 –