晚安,我正在尝试使用S3作为我的javascript和我的样式表的服务器,在Heroku上使用django设置应用程序。在一些帖子之后,我在S3上配置了一个桶,并将我的env变量配置为heroku。然后在我的设置文件中我有这样的东西
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
'apuh',
'storages',
)
AWS_QUERYSTRING_AUTH = False
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = 'mybucket'
STATIC_URL ='https://s3.amazonaws.com/%s /'%AWS_STORAGE_BUCKET_NAME ADMIN_MEDIA_PREFIX ='/ static / admin /'
当我运行我的应用时,它会因此错误崩溃:
Error: No module named storages
我用pip install django_storages安装了django_storages。它安装在我的环境中。如果我评论“存储”行,它将不会加载存储桶中的任何文件,我想该请求不会发送问题令牌进行身份验证。
所以,我的问题是,我做错了什么。我已经检查过问题和问题,但看起来我错过了一些大事。
提前致谢
答案 0 :(得分:3)
也许添加这些会有帮助吗?
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
STATIC_URL = 'http://' + AWS_STORAGE_BUCKET_NAME + '.s3.amazonaws.com/'
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'
并且是安装boto以及
然后运行pip freeze> requirements.txt只是为了确保所有依赖项都是最新的
我希望它有所帮助