본문 바로가기
Python/Django

Django 로그인 기능(Session)

by K-밍키 2022. 5. 31.

Django로 로그인 기능을 구현하는 방법 중 Session을 활용한 간단한 방법이다.


user/views.py : 세션에 로그인정보 저장

# user/views.py
def sign_in_view(request):

	# 조건문을 통해 POST방식으로 데이터를 보냈는지 확인
    if request.method == 'POST':
        username = request.POST.get('username', None)
        password = request.POST.get('password', None)
        
        # 받아온 데이터를 db에서 불러오기
        me = UserModel.objects.get(username=username)  # 사용자 불러오기
        if me.password == password:  # 저장된 사용자의 패스워드와 입력받은 패스워드 비교
            request.session['user'] = me.username  # 세션에 사용자 이름 저장
            return HttpResponse("환영합니다. {{ me.username }} 님!")
        else: # 로그인이 실패하면 다시 로그인 페이지를 보여주기
            return redirect('/sign-in')
            
    elif request.method == 'GET':
        return render(request, 'user/signin.html')