Authorization


장고 패키지에 포함된 django.contrib.auth 앱이 바로 인증 기능을 담당한다.

로그인, 로그아웃 관련해서 settings.py 파일에 지정하는 항목은 세 가지이다.

▪ LOGIN_URL

▪ LOGIN_REDIRECT_URL

▪ LOGOUT_REDIRECT_URL

위 세 가지 항목 중 LOGIN_URL은 디폴트 값을 사용하고, LOGIN_REDIRECT_URL은

사용하지 않아도 되므로, LOGOUT_REDIRECT_URL만 지정하면 된다.

#-- settings.py
LOGOUT_REDIRECT_URL = '/'

#-- views.py
from django.views.generic.base import TemplateView
from django.views.generic import CreateView
from django.contrib.auth.forms import UserCreationForm
from django.urls import reverse_lazy

class UserCreation(CreatView):
    form_class = UserCreationForm
    template_name = 'registeration/register.html'
    success_url = reverse_lazy('register_done')

class UserCreationDoneTV(TemplateView):
    template_name = 'registeration/register_done.html'


#-- urls.py
from django.urls import path, include
from .views import UserCreation, UserCreationDoneTV

urlpatterns =[
    path('accounts/', include('django.contrib.auth.urls')),
    path('accounts/register/', UserCreation.as_view(), name='register'),
    path('accounts/register/done/', UserCreationDoneTV.as_view(),name='register_done')
]