Login&Logout view
Redirect Mechanism
next value == True:
LOGIN_
REDIRECT_
URL
Default
else:
Default
HTML
복사
urls.py에 login과 logout path 연결
path('login/', LoginView.as_view(accountapp:login.html), name='login'),
path('logout/' LogoutView.as_view(), name='logout'),
Python
복사
login.html 작성
{% extends 'base.html' %}
{% block content %}
<div style="text-align: center; ">
<div>
<form action="" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" class="btn btn-primary">
</form>
</div>
</div>
{% endblock %}
HTML
복사
header.html에 로그인/로그아웃 만들기
{% if not user.authenticated %} <!--user가 로그인 되어있지 않다면 -->
<a href="{% url 'accountapp:login' %}?next={{ request.path }}">
<span>login</span>
</a>
{% else %}
<a href="{% url 'accountapp:logout' %}?next={{ request.path }}">
<span>logout</span>
</a>
{% endif %}
HTML
복사
settings.py에서 redirect연결해주기
from django.urls from reverse_lazy
LOGIN_REDIRECT_URL = reverse_lazy('accountapp:hello_world')
LOGOUT_REDIRECT_URL = reverse_lazy('accountapp:login')
Python
복사