django - 从本地主机上运行的网站对 AWS S3 的 GET 请求失败
问题描述
问题: 我正在使用 django 开发一个网站,图像和静态内容存储在 S3 中。当我在本地主机上运行我的网站时,我收到 403 禁止错误。
GET https://mybucket.s3.amazonaws.com/static/image.jpg 403 (Forbidden)
到目前为止我已经尝试过:
- 在我的 S3 存储桶上配置 CORS
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
- 将 S3 凭据存储在环境变量中。我已经能够运行
python manage.py collectstatic
将静态文件上传到 S3,所以我知道这个连接已经建立。
有谁知道我错过了什么?
解决方案
这是通过修复我的 django 项目的结构来解决的。这并不明显,但 BASE_DIR 指向了错误的目录。
推荐阅读
- swiftui - SwiftUI 中的 Swift @propertyWrapper
- reactjs - 使用带有随机页面路径的 testcafe
- python - 数据库句柄可以从 perl 脚本传递到 python 脚本吗?
- python - 从 pandas 的数据框中查找无效的电子邮件记录
- javascript - 如何在具有分配的组件中测试可观察的服务
- java - 过滤映射并返回键列表
- typescript - VueJS TypeScript 组件
- asp.net - HttpException (0x80004005)
- python - 如何在 Python 中从给定句子创建多个句子
- python - 如何让 pandas groupby 不偷懒?