You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django项目上传图片至S3 Bucket遇NoSuchBucket错误求助

解决Django上传S3时的NoSuchBucket错误

核心问题排查

  1. 桶名不匹配
    Django配置里的AWS_STORAGE_BUCKET_NAME = 'app_name',但S3桶策略中指定的资源是arn:aws:s3:::novacreditbank/*,两者桶名不一致,这是触发NoSuchBucket错误的直接原因。

  2. 权限不足
    当前桶策略仅允许s3:GetObject操作,而上传文件需要s3:PutObject权限,即使桶名正确,后续也会出现权限错误。

修复步骤

  • 修正桶名配置
    将Django settings中的AWS_STORAGE_BUCKET_NAME改为实际存在的S3桶名novacreditbank,同时确认该桶已在AWS控制台成功创建。若桶不在默认的us-east-1区域,需添加区域配置:

    AWS_S3_REGION_NAME = '你的桶所在区域,比如ap-southeast-1'
    
  • 更新S3桶策略
    修改桶策略,添加s3:PutObject权限,确保可以上传文件:

    {
    "Version": "2012-10-17",
    "Id": "Policy1665038511106",
    "Statement": [
        {
            "Sid": "Stmt1665038504281",
            "Effect": "Allow",
            "Principal": "*",
            "Action": ["s3:GetObject", "s3:PutObject"],
            "Resource": "arn:aws:s3:::novacreditbank/*"
        }
    ]
    }
    

    同时确认你使用的IAM用户(对应AWS_S3_ACCESS_KEY_ID)本身拥有s3:PutObject相关权限,IAM权限与桶策略需同时允许该操作。

  • 验证配置
    重启Django服务后,重新尝试上传操作,确认错误是否消失。

内容的提问来源于stack exchange,提问作者Neo_77cyber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 12:45:30