将 AWS s3 与 django 连接

rav2001

我正在本地 s3 上测试我的 Django 项目。但是在运行服务器时,它似乎没有提供静态文件

AWS_ACCESS_KEY_ID = os.getenv('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.getenv('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = os.getenv('AWS_STORAGE_BUCKET_NAME')
AWS_DEFAULT_ACL = 'public-read'
AWS_S3_CUSTOM_DOMAIN = f'{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com'
AWS_S3_OBJECT_PARAMETERS = {'CacheControl': 'max-age=86400'}
# s3 static settings
AWS_LOCATION = 'static'
STATIC_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/{AWS_LOCATION}/'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

但是当我检查浏览器的控制台时它似乎不起作用,它显示访问我的静态文件时禁止 403 请求的 http 错误代码。为什么会发生这种情况,我应该更改我的 s3 设置。

这个错误可能是 s3 方面的。检查您是否有权访问对象和存储桶。当我看到您的设置时,您正在使用 django-storages。不是 django-s3-storages。它们之间有一些变化。就我个人而言,在 django-storages 的情况下;通过将区域名称添加到设置 help.so 确保您还包括AWS_S3_REGION_NAME = 'the region here'

希望它也适用于你。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章