依赖关系
您需要安装两个 Python 库:
- boto3
- django-storages
boto3 库是一个公共 API 客户端,用于访问 Amazon Web Services (AWS) 资源,例如 Amazon S3。这是由 Amazon 维护的官方发行版。
Amazon S3 设置
django-storages 是一个开源库,用于管理 Dropbox、OneDrive 和 Amazon S3 等存储后端。这非常方便,因为它插入了内置的 Django 存储后端 API。换句话说,它会让你的生活更轻松,因为它不会彻底改变你与静态/媒体资产的交互方式。我们只需要添加一些配置参数,它就会为我们完成所有艰苦的工作。
在进入 Django 部分之前,让我们设置 S3 部分。我们需要创建一个有权管理我们的 S3 资源的用户。
登录 AWS 网页,在服务列表中找到 IAM,它在 Security、Identity & Compliance 下列出:
转到“用户”选项卡并单击“添加用户”按钮:
提供用户名并选择编程访问选项:
点击下一步进入权限。此时,我们需要创建一个具有正确 S3 权限的新组,并将我们的新用户添加到其中。按照向导并单击创建组按钮:
为组定义一个名称并搜索内置策略 AmazonS3FullAccess:
单击创建组以完成组创建过程,在下一个屏幕中,最近创建的组将显示为选中状态,保持这种状态,最后单击按钮下一步:审核:
查看信息,如果一切正确,则继续创建新用户。接下来,您应该会看到以下信息:
记下所有信息:用户、访问密钥 ID 和秘密访问密钥。保存它们以备后用。
单击关闭按钮,让我们继续。现在,是时候创建我们的第一个存储桶了。
Bucket 就是我们在 S3 中所说的存储容器。我们可以在同一个 Django 项目中使用多个存储桶。但是,在大多数情况下,每个网站只需要一个存储桶。
单击“服务”菜单并搜索 S3。它位于存储下。如果您看到下面的屏幕,那么您来对地方了。
单击 + 创建存储桶以启动流程。为您的存储桶设置符合 DNS 的名称。它将用于识别您的资产。就我而言,我选择 sibtc-static。所以我的资产路径将是这样的:https://sibtc-static.s3.amazonaws.com/static/。
保留其余设置,仅使用默认设置继续下一步,最后点击创建存储桶按钮。接下来你应该看到下面的屏幕:
阅读更多here以了解安装..