Django Logout Метод Get не работает при попытке использовать метод Post

Я пытаюсь построить простой механизм входа-выхода с помощью Django. Вход в систему уже работает нормально. Ниже приведены соответствующие фрагменты кода:

project_name/main/urls.py:

from django.contrib.auth import views as auth_views

urlpatterns = [
    # ...
    path('accounts/logout/', auth_views.LogoutView.as_view(), name='logout'),
]

project_name/templates/registration/logged_out.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Logged out</title>
</head>
<body>
    <form method="post" action="{% url 'logout' %}">
        {% csrf_token %}
        <p>Logged out!</p>
        <a href="{% url 'login' %}">Click here to login again.</a>
    </form>
</body>
</html>

У меня есть элемент href в project_name/templates/profile.html, который ведет к выходу из системы:

<p><a href="{% url 'logout' %}">Logout</a></p>

Но когда я нажимаю на него, то получаю следующую ошибку: Method Not Allowed (GET): /accounts/logout/ Метод не разрешен: /accounts/logout/

Я совсем запутался, потому что атрибут method в элементе формы в logged_out.html явно "post". Я просмотрел предыдущие вопросы, и ни в одном из них не было такой проблемы. Не мог бы кто-нибудь любезно объяснить мне, что происходит? Заранее спасибо.

Вернуться на верх