При выходе из системы отображается белая пустая страница - django 5

поэтому, когда я хочу выйти из системы, появляется белая пустая страница по адресу 'http://127.0.0.1:8000/accounts/logout/

Я использую ярлык для перенаправления на следующую страницу в settings.py, и я проверил выход из системы с помощью админ-панели, и он работает нормально

settings.py

... 

LOGIN_REDIRECT_URL = 'index'

LOGOUT_REDIRECT_URL = 'index' 

...

вот мой urls.py:

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include('post.urls')),
    path('accounts/', include('django.contrib.auth.urls') ),
]

вот как я вхожу в систему:

login.html:

{% extends "base.html" %}

{% block content %}

<div class="container">
    <h1> LOGIN FORM </h1>
<form method="post">
    {% csrf_token %}
    {{form.as_p}}
    <button type="submit" class= "btn btn-success">Log In</button>
</form>
</div>
<br>
{% endblock content %}

base.html:

...
<ul>
          <li><a class="active " href="{% url 'index' %}">Home</a></li>
          <li><a class="active " href="{% url 'about' %}">About</a></li>
           {% if user.is_authenticated %}
            <li><a class="active " href="{% url 'logout' %}">Log Out</a></li>
            {% else %}
            <li><a class="active " href="{% url 'login' %}">Log In</a></li>
           {% endif %}
        </ul>

...

а для выхода из системы я сделал только 'href="{% url 'logout' %}" в base.html, насколько я понял, в views.py код не нужен. Что я упустил?

Вам необходимо внести некоторые изменения в ваш файл. Для вызова index вам нужно определить '/' в файле settings.py

settings.py

LOGOUT_REDIRECT_URL = '/'

urls.py

urlpatterns = [
    path('',include('post.urls')),
]

post/urls.py

urlpatterns = [
    path('', views.logout, name="index")
]

post/views.py

from django.shortcuts import render

def logout(request):
    return render(request, 'index.html')
Вернуться на верх