我正在尝试通过Amazon AWS S3在Heroku托管的Django网站上显示媒体文件。目前,我对AWS的设置是:
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 = os.environ.get('AWS_STORAGE_BUCKET_NAME')
AWS_DEFAULT_ACL = None
AWS_S3_OBJECT_PARAMETERS = {'CacheControl': 'max-age=86400',}
DEFAULT_FILE_STORAGE = 'register.storage_backends.MediaStorage'
在我的storage_backends.py中,我有:
from storages.backends.s3boto3 import S3Boto3Storage
class MediaStorage(S3Boto3Storage):
location = 'media'
file_overwrite = False
当我打开网站并检查图像时,我什至可以看到网址是正确的:
https://mybucket.s3.amazonaws.com/media/defaults/user/default_u_i.png?AWSAccessKeyId=...
但是,我仍然看不到图像,并且显示了默认的缩略图。我在这里做错了什么?我已将文件上传到存储桶中,并已多次检查,它们位于正确的目录中。
感谢所有的帮助!
答案 0 :(得分:0)
似乎我也必须添加我的REGION_NAME
集,所以我添加了:
AWS_S3_REGION_NAME = 'REGION_NAME'
也进入我的设置。