axios 401에러가 났습니다
1499
작성한 질문수 23
401 에러가 나서 제가 구글링을 나름 해보니, 토큰인증의 문제가 원인이라고 하는데 아직 토큰발급을 적용하지 않았는데 이런 에러가 나는 이유는 무엇일까요..
Signup.js 부분은 선생님의 코드와 완전히 같습니다.
import React, { useState } from "react";
import Axios from "axios";
export default function Signup() {
const [inputs, setInputs] = useState({});
const onSubmit = e => {
e.preventDefault();
Axios.post("http://localhost:8000/accounts/signup/", inputs)
.then(response => {
console.log("response: ",response);
})
.catch(error => {
console.log("error: ",error);
});
};
const onChange = e => {
const {name, value} = e.target;
setInputs(prev => ({
...prev,
[name]: value
}));
};
return (
<div>
<form onSubmit={onSubmit}>
<input type="text" name="username"onChange={onChange}/>
<input type="password" name="password" onChange={onChange}/>
<input type="submit" value="회원가입" />
</form>
</div>
);
}백엔드 단에서는 구조가 약간 다르긴 하지만 accounts 부분은 크게 다르지 않습니다.
accounts/models.py
from django.db import models
class User(models.Model):
user_id = models.CharField(max_length=32, unique=True, verbose_name='id')
user_pw = models.CharField(max_length=128, verbose_name='password')
user_name = models.CharField(max_length=16, unique=True, verbose_name='name')
user_Email = models.EmailField(max_length=128, unique=True, verbose_name='email')
def __str__(self):
return self.user_name #오브젝트 호출시 user_name으로 표시
class Meta: #DB 테이블 명 지정
db_table = 'user'
verbose_name = 'user'
accounts/serializers.py
from rest_framework import serializers
from django.contrib.auth import get_user_model
User = get_user_model()
class SignupSerializer(serializers.ModelSerializer):
#pw 보안
password = serializers.CharField(write_only=True)
def create(self, validated_data):
user = User.objects.create(username=validated_data["username"])
user.set_password(validated_data["password"]) #암호화된 비번 저장
user.save()
return user
class Meta:
model = User
fields = ["pk", "username", "password"]from django.urls import path
from . import views
urlpatterns = [
path('signup/', views.SignupView.as_view(), name='login'),
]
from django.contrib.auth import get_user_model
from django.shortcuts import render
from rest_framework.permissions import AllowAny
from rest_framework.generics import CreateAPIView
from .serializers import SignupSerializer
#회원가입 뷰
#createapiview 이므로 get 메소드 허용X
class SignupView(CreateAPIView):
model = get_user_model()
serializer_class = SignupSerializer
Permission_classes = [
AllowAny,#실제로 회원가입할 때는 로그인은 되면 안됨
]
혹시 뭐가 원인일지 추측이라도 해주시면 감사하겠습니다..혹시 버전문제일 수도 있을까요? 현재 장고는 3.2 리액트는 18이긴합니다
답변 1
안녕하세요.
0
49
1
[OneToOne Field Demo] get_user_model() 메서드를 활용해야 하는 이유?
0
274
1
useEffect 훅에서 else 유무에 따른 결과
0
211
1
useAxios 훅의 dependency array 설정
0
245
1
useEffect에서 변수 업데이트 관련 질문
0
382
1
rest_framework.generics.CreateAPIView의 model 속성 유무
0
268
1
bootstrap4
0
471
4
리뉴얼 강의가 오픈이 되면 기존 강의는 더이상 못보는걸까요
1
364
1
admin form에서 앞선 필드 선택 후 다른 필드 select widget 구성하는 방법
0
574
3
useState는 필수일까요?
0
263
1
python manage.py makemigrations instagram 시 created_at default 오류가 발생합니다.
0
600
4
Django allauth를 사용한 소셜 로그인 시 에러
0
655
1
프로젝트명 변경 뒤, 디버그툴바+디버그모드 사용 시 에러
0
556
2
useLocalStorage() 함수 사용여부
0
229
1
django에 LOGIN_URL = '/accounts/login/'의 의미?
0
449
1
리듀서의 의미 재확인
0
430
1
simple-jwt Refresh Token 사용 노하우
0
899
2
docker compose 를 통한 배포 관련 오류 문의
0
670
1
파이썬 속도 장고 관련 궁금한게 있습니다.
0
365
1
is_like_user
0
233
1
related_name 오류
0
275
1
re_path 오류
0
258
1
re_path url
0
251
1
No post matches the given query
0
661
2






