데이터 분석 기술 블로그

Django에 대하여(23)_Logout 본문

백엔드

Django에 대하여(23)_Logout

데이터분석가 이채은 2024. 4. 14. 09:00

Logout

Logout이란 Session을 Delete 하는 과정입니다.

 

logout(request)

현재 요청에 대한 Session Data를 DB에서 삭제하고 클라이언트의 쿠키에서도 Session Id를 삭제합니다.

1. 로그아웃 로직 작성

# accounts/urls.py

urlpatterns = [
    path('login/', views.login, name='login'),
    path('logout/', views.logout, name='logout'),
]
# accounts/views.py

from django.contrib.auth import logout as auth_logout

def logout(request):
    auth_logout(request)
    return redirect('articles:index')
<!-- articles/index.html -->

<h1>Articles</h1>
<a href="{% url 'accounts:login' %}">Login</a>
<form actions="{% url 'accounts:logout' %}" method="POST">
  {% csrf_token %}
  <input type="submit" value="Logout">
</form>