angular2 / post请求django创建用户

时间:2017-10-02 07:29:36

标签: django angular httprequest

我正在尝试通过向Django后端发送帖子请求来在我的Angular应用程序中创建新用户(这不是由我开发的,但据信是正确实现的)。 在我的注册服务中,我有以下功能来创建新用户

newUser(f: NgForm){
let username = f.controls['username'].value;
let password = f.controls['password'].value;
let email = f.controls['email'].value;

let headers = new Headers();
  headers.append('Content-Type','application/json');
  headers.append('X-CSRFToken', this.getCookie('csrftoken'));

return this.http.post('http://localhost:8000/users/', JSON.stringify({username: username, password: password, email: email}), {headers: headers})
    .toPromise()
    .then(res => res.json())
    .catch(this.handleError);
}

在我的表单组件中,我有onSubmit函数,只有"会话"注册服务

onSubmit(form: NgForm) {
let res = this.signUpService.newUser(form).then(result => res = result, error => this.errorMessage = <any> error);

但是,当我尝试创建新用户时,出现以下错误:

  

POST http://localhost:8000/users/ 401(未经授权)

我认为后端可能的配置方式只有超级用户才能创建新用户,因此,这就是抛出错误的原因。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果有人遇到这个问题,Angular代码没有任何问题,它在Django中 - 权限设置为IsAuthenticatedOrReadOnly并更改为AllowAny