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

Angular向Django发送Post请求时出现500内部服务器错误

问题

向连接PostgreSQL的Django服务器发送POST请求时触发500(内部服务器错误),但GET、PUT请求可正常执行。

相关代码

Angular 组件文件(component.ts)

export class UsersComponent implements OnInit{

  users!: any[]

  user:any = {
    fullname:'',
    email:'',
    car:''
  };

  constructor(public userService: UserService, private route: ActivatedRoute){}

  ngOnInit(): void {
      this.getUserData()
  }

  onCreate(){
      this.userService.createUser(this.user).subscribe(
        (response:any) =>{
          console.log('user created succesfully');
          this.getUserData();
        },
        (error:any)=>{
          console.error('errror',error);
        }
      );
  }


  getUserData(){
    this.userService.getUsers().subscribe((data:any) => {
      this.users = data
    })
  }
}

Angular 服务文件(service.ts)

export class UserService {

  private apiUrl = 'http://127.0.0.1:8000/api/user'

  constructor(public http: HttpClient) { }
 
  createUser(user:any){
      return this.http.post(this.apiUrl, user)
  }
}

Django 模型文件(models.py)

class User(models.Model):
    fullname = models.CharField(max_length=255)
    email = models.EmailField(max_length=55)
    car = models.CharField(max_length=255)
排查建议
  • 优先查看Django服务器的控制台日志,500错误的详细堆栈信息能直接定位问题(比如字段验证失败、数据库约束冲突、序列化器配置错误等)
  • 检查Django REST Framework的序列化器(如果使用),确认POST请求的字段映射是否正确,有没有遗漏必填字段或类型不匹配
  • 验证前端POST请求的内容:确保Content-Type为application/json,发送的字段名和Django模型字段完全一致,没有拼写错误
  • 检查PostgreSQL数据库权限:确认Django连接数据库的用户拥有插入数据的权限
  • 排查模型字段约束:比如email字段是否设置了唯一约束,若前端发送重复邮箱会触发数据库报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 04:33:37