django-adminlte3을 관리자 페이지에 적용했을때, 아래 그림처럼 로그아웃 url을 찾지 못하는 문제가 발생했다.
로그아웃 링크가 /logout/으로 되어 있는 문제인데, django-adminlte 테마를 적용하지 않으면 정상적으로 로그아웃 된다.
이 문제는 project/settings.py 파일에 LOGOUT_URL을 설정하면 해결된다.
먼저, project/urls.py에 아래 내용을 추가해 둔다.
rlpatterns = [ ... path('admin/', admin.site.urls), path('accounts/', include('django.contrib.auth.urls')), ## 이부분 추가해야함. ]
그리고, django 기본 user 모델을 사용한다면, 아래 내용을 추가하면 된다.
... LOGOUT_URL = '/accounts/logout'
위 내용을 적용하면 아래처럼 로그아웃 url이 바뀐 것을 볼 수 있다. settings.py에 지정한 url로 바뀐 것을 확인 할 수 있다.
로그인/로그아웃 관련하여, 로그인 했을때 특정 url로 이동하거나 로그아웃 했을때 특정 url로 이동하도록 하고 싶다면, settings.py에 LOGIN_REDIRECT_URL, LOGOUT_REDIRECT_URL을 설정하면된다.
아래 내용에서 ‘home’은 project/app/urls.py 에 등록되어 있는 url 이름이다.
... LOGIN_REDIRECT_URL = 'home' LOGOUT_REDIRECT_URL = 'home'