我正在尝试通过向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(未经授权)
我认为后端可能的配置方式只有超级用户才能创建新用户,因此,这就是抛出错误的原因。 有什么想法吗?
答案 0 :(得分:0)
如果有人遇到这个问题,Angular代码没有任何问题,它在Django中 - 权限设置为IsAuthenticatedOrReadOnly
并更改为AllowAny