【发布时间】:2020-12-31 13:01:11
【问题描述】:
我正在尝试通过 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
当我打开我的网站并检查图像时,我什至可以看到 url 似乎是正确的:
https://mybucket.s3.amazonaws.com/media/defaults/user/default_u_i.png?AWSAccessKeyId=...
但是,我仍然看不到图像,它显示了默认缩略图。我在这里做错了什么?我已将文件上传到我的存储桶中,并检查了多次,它们位于正确的目录中。
提前感谢所有帮助!
【问题讨论】:
标签: python django amazon-web-services heroku