【发布时间】:2020-12-09 17:09:43
【问题描述】:
在我的本地 django 项目中尝试使用 s3 存储桶时,它不起作用。将静态文件和图像移动到 s3 存储桶后,它不会渲染它们。
我的项目结构是这样的:
Project
|-> app-name
|-> static
| |-> img "folder of png images"
| |-> app-name
| |-> css "folder contain all css files"
| |-> js "folder contains all js files"
| |-> img "contains images used for styling"
|-> project name
|-> manage.py
在settings.py“媒体、静态和s3存储桶设置是这样设置的”:
STATIC_URL = '/static/'
MEDIA_URL = '/img/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
MEDIA_ROOT = os.path.join(BASE_DIR, 'static/img')
AWS_ACCESS_KEY_ID = '***************'
AWS_SECRET_ACCESS_KEY = '***************'
AWS_STORAGE_BUCKET_NAME = 'bucket-name'
AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
AWS_S3_HOST = 's3.us-east-2.amazonaws.com'
AWS_S3_REGION_NAME = 'us-east-2'
AWS_S3_CUSTOM_DOMAIN = f'{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
当我尝试检查元素以查看图像中的 src 或 css 链接时,我可以看到它们是这样的:
“https://bucket-name.s3.amazonaws.com/gallery/css/bootstrap.min.css”或图片“https://bucket-name.s3.amazonaws.com/stockholm_Samit.jpg”
你能帮我解决这个问题吗?
【问题讨论】:
标签: python django amazon-web-services amazon-s3