(Django 5.03] проблема с django.contrib.auth.views.LogoutView [duplicate]
Сегодня я возрождаю старый проект django. После создания всего необходимого и импорта базы данных я смог войти в систему, и она заработала (или я так думал!)
Все работает так же, как и год назад, когда я забросил проект, за исключением ссылки на выход из системы в заголовке.
Я искал людей с похожими проблемами и нашел вот это: Согласно примечаниям к выпуску Django 5.0, поддержка выхода из системы через GET-запросы в django.contrib.auth.views.LogoutView удалена. Для выхода из системы и перенаправления необходимо выполнить POST-запрос.
Но это мне нисколько не помогает. Ниже я покажу часть кода, который я использую:
header.html
<li class="nav-item ">
<a class="nav-link " href="logout "> {{user.username.capitalize}} uitloggen</a>
</li>
views.py
from django.contrib.auth.models import User, auth
def logout(request):
auth.logout(request)
return redirect('/')
urls.py
from django.contrib.auth import views
from members import views as member_views
path('logout/', views.LogoutView.as_view(template_name='registration/logout.html'), name='logout'),
logout.html
{% extends 'index.html' %}
{% block css %}<meta http-equiv="refresh" content="5;{% url 'index' %}">{% endblock %}
{% block title %}Logout{% endblock title %}
{% block content %}
<div class="container bground2">
<div class="form">
<h2>You are logged out</h2>
<h6>You will be redirected to the Home Page</h6>
<div class="border-top pt-3 pb-5">
<small class="text-muted text-center">
Login again<a class="ml-2" href={% url "login" %}>Login</a>
</small>
</div>
</div>
</div>
{% endblock content %}
Как я уже сказал, раньше это работало, но поскольку они изменили это в Django 5, я должен выходить из системы с помощью POST, а не GET запроса. Я не знаю, где изменить этот GET-запрос на Post. Надеюсь, кто-нибудь сможет мне помочь - основываясь на том, как это работало раньше - как изменить это для Django 5, чтобы это снова работало.