При выходе из системы отображается белая пустая страница - 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')