Django AWS S3文件未在网站上显示

时间:2020-05-22 17:18:40

标签: python django amazon-web-services heroku amazon-s3

当我检查页面源代码时,该链接已链接到正确的AWS链接,但未显示图像/ css或媒体文件。根据我遵循的教程,按需配置存储桶策略和CORS。存储桶中还插入了mdeia和静态文件夹。

> mcli
[[1]]
[1] "hey" "hou"

[[2]]
[1] "yei"

1 个答案:

答案 0 :(得分:0)

您所获得的不完整。您需要这样的东西:

使用__init__.py和以下文件在settings.py旁边创建aws文件夹:

conf.py:

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 = {BUCKET_NAME}
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME

AWS_S3_OBJECT_PARAMETERS = {
    'CacheControl': 'max-age=86400',
}

AWS_LOCATION = 'static'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATIC_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
DEFAULT_FILE_STORAGE = '{appname}.settings.aws.storage_backends.MediaStorage'

storage_backends.py:

from storages.backends.s3boto3 import S3Boto3Storage

class MediaStorage(S3Boto3Storage):
    location = 'media'
    file_overwrite = False

然后将其导入您的settings.py/生产设置文件:

from .aws.conf import *