Quantcast
Channel: Active questions tagged python - Stack Overflow
Viewing all articles
Browse latest Browse all 23160

Troubleshooting Django Logout Error: Despite Correct Implementation, Logout Button Still Generates Error

$
0
0

I get this error every time I press the logout button, which is weird because I did all the right steps and still have the same result.

The error

Method Not Allowed: /accounts/logout/[03/Apr/2024 02:37:45] "GET /accounts/logout/ HTTP/1.1" 405 0

forms.py

from django.contrib.auth.forms import AuthenticationFormfrom django import formsattrs = {'class': 'form-control'}class UserLoginForm(AuthenticationForm):     def __init__(self,*args,**kwargs):         super(UserLoginForm,self).__init__(*args,**kwargs)     username = forms.CharField(         label='Username',         widget=forms.TextInput(attrs=attrs)    )     password = forms.CharField(         label='Password',         widget=forms.PasswordInput(attrs=attrs)    )

accounts/urls.py

from django.contrib.auth.views import LoginView, LogoutViewfrom django.urls import path,includefrom accounts.forms import UserLoginForm    urlpatterns = [    path('login/', LoginView.as_view(authentication_form=UserLoginForm),name='login'),    path('logout/', LogoutView.as_view(), name='logout'),    path('', include('django.contrib.auth.urls'))]

settings.py

MIDDLEWARE = ['django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware','debug_toolbar.middleware.DebugToolbarMiddleware',]LOGIN_REDIRECT_URL = '/'LOGOUT_REDIRECT_URL = '/accounts/login'

project/urls.py

urlpatterns = [    path('__debug__/',include(debug_toolbar.urls)),    path('admin/', admin.site.urls),    path('accounts/', include('accounts.urls')),    path('', include('projects.urls')),]

logout.html

{% extends 'base.html' %}{% load i18n %}{% block content %}<form method="post"  action="{% url 'logout' %}">    {% csrf_token %}<div class="card text-center"><div class="card-header">            Log Out</div><div class="card-body"><h5 class="card-title">Are You Sure You Want To Log Out Of YOur Account? {{ user.username|title}} </h5>            {{ form.as_p }}<input class="btn btn-danger" type="submit" value="logout"></div></div></form>{% endblock %}

I try to log out, but I can't. I've tried everything and asked a few people I know and still can't fix it.


Viewing all articles
Browse latest Browse all 23160

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>