AWS未在heroku上部署的Django网站上显示图像

时间:2020-09-13 17:21:51

标签: python django amazon-web-services heroku

我正在尝试通过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=...

但是,我仍然看不到图像,并且显示了默认的缩略图。我在这里做错了什么?我已将文件上传到存储桶中,并已多次检查,它们位于正确的目录中。

感谢所有的帮助!

1 个答案:

答案 0 :(得分:0)

似乎我也必须添加我的REGION_NAME集,所以我添加了:

AWS_S3_REGION_NAME = 'REGION_NAME'也进入我的设置。