
아직 3주차 11강이지만... 안타깝게도 상대적으로 수강 진도가 빠른 편이지만, 당장 금요일 10시 과제 발제인데, 어질어질 하다...
urls.py
- signup 만들고
views.py- def post → 회원가입
- serializer = UserSerializer(data= request.data)
- 포스트맨에서 json형태로 보낸 걸 읽어들여서
serializer.py- json 형태로 가져온 걸 serializer에 보냄
- 기본으로 들어간 create 함수에 override를 해줘서, 그냥 password를 만들지 말고 user.set_password(password) 명령어를 통해 해싱 패스워드로 만들어달라고 명령함!
- 그래서 user.save() → DB에 저장
views.py- response로 가입완료 됐다고 뜨고, status 는 created 201로 표시됨.
from rest_framework import permissions
class mockView(APIView):
permission_classes = [permissions.IsAuthenticated] # 어떤 것들이 되는지 지정을 해줘야하는데, 그를 위해선 rest_framework의 permissions를 임포트해야됨.
def get(self, request):
return Response("get 요청!")
path('mock/', views.mockView.as_view(), name="mock_view"),
postman에서 get 요청으로 Headers에 Key: Authorization, value: Bearer (access token) 입력해서 send 하면...
로그인된 상태여야만 보이게 한 response가 뜬다!
urls.py에 /api/token/refresh/-> 넣어놓고 사용 안하던 거 이제 사용한다..!
body에 refresh token을 넣어줘야 access token을 재발급 받을 수 있음
js 처음 시작부터 console.log("로딩되었음") 찍어보면서, 통신이 원활히 되고 있는지 지속적으로 확인해야 한다!
signup 기능
코드 뜻
window.onload = ()=>{ // window와 api js 가 연결된 것을 확인하면, 실행해라
// JS에서 document = html 파일
function handleSignin(){
const email = document.getElementById("email").value
// console.log(email) email을 잘 뽑아서 찍히는지 확인 용도
const password = document.getElementById("password").value // document의 id값이 password인 요소를 가져온다.
console.log(email, password)
const response_json = await response.json()
console.log(response_json)
localStorage.setItem("access", response_json.access); // "access" -> localstorage의 key값 / response_json.access-> lovalstorage의 value값
localStorage.setItem("refresh", response_json.refresh);