[Django] 로그인 기능 구현

김광일·2022년 2월 22일
0

DJANGO

목록 보기
5/8
post-thumbnail

이 전 포스팅에서는 회원가입 기능을 구현해보았다.
회원가입을 했으면 그 정보를 이용하여 로그인을 할 수 있어야하겠지?
로그인은 회원가입에 비해 좀 더 간단한 것 같다.


1. 로그인 View 기능 정의

# users/views.py

import json

from django.http  import JsonResponse
from django.views import View

from .models      import User
from .validation  import email_validation, password_validation

class SignUpView(View):
		...
        ...

class LoginView(View):
    def post(self, request):
        try:
            data = json.loads(request.body)

            email     = data["email"]
            password  = data["password"]
            
            if not User.objects.filter(password = password, email = email).exists():
                return JsonResponse( {"message" : "INVALID_USER"}, status = 401) #1

            return JsonResponse( {"massege" : "SUCCESS"}, status = 200) #2
        except KeyError: 
            return JsonResponse( {"message" : "KEY_ERROR"}, status = 400)
  • #1
    : passwordemail의 값이 잘못 입력되었을 경우 INVALID_USER 메세지와 함께 401 에러를 반환한다.
  • #2
    : 문제가 없다면 SUCCESS메세지를 보여준다.

2. URLconf 정의

# users/urls.py

from django.urls import path
from .views import SignUpView, LoginView

urlpatterns = [
# http://127.0.0.1:8000/users/signup
    path('/signup', SignUpView.as_view()),
# http://127.0.0.1:8000/users/login
    path('/login', LoginView.as_view())
]
profile
부족함 없이 공부하자

0개의 댓글