0

I create my own template for logout page, but it loads default django logout page instead of it. according to this solution I need to put django.contrib.admin after my app name in setting.py. I've already tried this but doesn't work for me.

setting.py:

.....
INSTALLED_APPS = [
'league',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',

]

urls.py:

from django.conf.urls import url
from . import views
from django.contrib.auth.views import login, logout, logout_then_login

 urlpatterns = [

url(r'^login/$', login, name='login'),
url(r'^logout/', logout, name='logout'),
url(r'^logout-then-login/$', logout_then_login, name='logout_then_login'),

logout.html

{% extends "league/base.html" %}
{% block title %}Logged Out{% endblock %}

{% block content %}
<h1>Logged Out</h1>
{% if form.errors %}
<p>
You have been successfully logged out. You can <a href="{% url 'login' %}">login</a> again.
</p>
{% endblock %}
Alireza Navaie
  • 133
  • 3
  • 15

2 Answers2

0

when you use a custom logout page you have to tell django where is that page.

you do this with the template_name your logout url:

url(r'^logout/$', auth_views.logout, { 'template_name': 'path_to/logout.html',}, name='logout')
mohammedgqudah
  • 568
  • 4
  • 15
0

If you using django v1.10 or newer, you can use the LOGOUT_REDIRECT_URL setting property to redirect the logout page.

https://docs.djangoproject.com/en/1.11/ref/settings/#logout-redirect-url

Du D.
  • 5,062
  • 2
  • 29
  • 34