小编Mic*_*one的帖子

无法使用boto通过Heroku将静态收集到s3-s3 bucket返回NoneType

这个问题涉及使用Heroku,django-storages(w/boto for s3)和CloudFront来提供静态内容的设置.

在过去的几个小时里,我一直在努力将我的静态文件成功加载到我的Heroku应用程序中.我已成功将Cloudfront连接到我的s3存储桶,看起来好像存储桶设置正确,但无论出于何种原因,我的值AWS_STORAGE_BUCKET_NAME似乎都没有正确注册.

如果有人对如何调试这个有任何线索或想法,我会非常感激.我没办法.谢谢阅读.

settings.py(重要的东西):

try:
  from settings_local import *
except:
  import s3utils
DEBUG = False
#s3 stuff
DEFAULT_FILE_STORAGE = 's3utils.MediaRootS3BotoStorage'
STATICFILES_STORAGE = 's3utils.StaticRootS3BotoStorage'  
STATIC_URL = 'https://[domain].cloudfront.net/'
#use heroku postgres database
import dj_database_url
DATABASES['default'] =  dj_database_url.config()
Run Code Online (Sandbox Code Playgroud)

s3utils.py

from storages.backends.s3boto import S3BotoStorage
from django.utils.functional import SimpleLazyObject
import os

AWS_ACCESS_KEY_ID = os.environ['AWS_ACCESS_KEY_ID']
AWS_SECRET_ACCESS_KEY = os.environ['AWS_SECRET_ACCESS_KEY']
AWS_STORAGE_BUCKET_NAME = 'static.[website].org'

StaticRootS3BotoStorage = lambda: S3BotoStorage(location='static')
MediaRootS3BotoStorage  = lambda: S3BotoStorage(location='media')
Run Code Online (Sandbox Code Playgroud)

这是我尝试通过'heroku run'或Procfile中尝试collectstatic时获得的回溯:

  Traceback (most recent call last):
  File "manage.py", line 10, in <module> …
Run Code Online (Sandbox Code Playgroud)

django heroku amazon-s3 boto amazon-cloudfront

4
推荐指数
1
解决办法
2489
查看次数

标签 统计

amazon-cloudfront ×1

amazon-s3 ×1

boto ×1

django ×1

heroku ×1