无法从S3存储桶提供静态文件?

时间:2020-11-03 17:31:23

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

我已经配置了一个S3存储桶来存储和提供Django网站的静态文件和媒体文件,目前只是试图获取管理页面和所有其他内容所需的静态文件。

这是我的设置文件中的所有静态和AWS配置信息:

STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
DEFAULT_FILE_STORAGE = 'config.storage_backends.MediaStorage'

#used to authenticate with S3
AWS_ACCESS_KEY_ID = 'AKIAWWJOJKZGFSJO2UPW' #not real one
AWS_SECRET_ACCESS_KEY = 'KNg1z5wXWiDRAIh4zLiHgbD2N3wtWZTK' #not real one

#for endpoints to send or retrieve files
AWS_STORAGE_BUCKET_NAME = 'my-static' #not real bucket name
AWS_DEFAULT_ACL = None
AWS_S3_CUSTOM_DOMAIN = f'{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com'
AWS_S3_OBJECT_PARAMETERS = {'CacheControl': 'max-age=86400',}
AWS_LOCATION = 'static'

STATIC_ROOT = 'static'
STATIC_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/{AWS_LOCATION}/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'config/static'),
]

当然,出于本文的目的,我将所有敏感变量替换为伪变量。我已经看过许多教程和其他文章,并且我似乎正确配置了STATIC_URL,但是每当我运行服务器并转到管理页面时,都不会应用任何CSS。我认为从存储桶中正确检索静态文件(它们都已上载到S3存储桶)并不正确,但是我被困在该做什么。

1 个答案:

答案 0 :(得分:0)