본문 바로가기
Python/Django

Django 사용자 로그인 상태 확인 & 로그아웃

by K-밍키 2022. 5. 31.

페이지 내 사용자가 로그인되어있는지 확인하여 어떤 페이지를 보여줄지 연결하는 것이 매끄러운 웹의 흐름일 것이다.

사용자의 로그인 여부를 확인하는 코드를 살펴보자.


1. is_authenticated : 로그인의 여부만 검증해 주는 기능

def home(request):

# 사용자가 인증을 받았는지 (로그인이 되어있는지) 확인
    user = request.user.is_authenticated  
      
    if user:
        return redirect('/tweet')
    else:
        return redirect('/sign-in')

 

2. @login_required : 로그인하지 않으면 접근이 불가능 하게 만드는 기능

#user/views.py

# login_required를 임포트
from django.contrib.auth.decorators import login_required

# @login_required 은 사용자가 로그인 상태인지 확인
@login_required   # 사용자가 로그인된 상태에서만
def logout(request):
		auth.logout(request) # 인증 되어있는 정보를 없애기
    return redirect("/")

 

3. logout : 위 코드 중 auth.logout을 사용하여 인증정보를 삭제하여 로그아웃한다.