Django基于类的LogoutView功能异常问题求助
Django注销页面无法正常工作的排查与解决
注销页面无法正常工作,截图如下:
我的users/urls.py代码如下:
from django.urls import path from users_app import views from django.contrib.auth import views as auth_views urlpatterns = [ path('register/', views.register, name='register'), path('login/', auth_views.LoginView.as_view(template_name='login.html'), name='login'), path('logout/', auth_views.LogoutView.as_view(template_name='logout.html'), name='logout'), ]
给你几个常见的排查方向和解决办法:
检查请求方式:Django自带的
LogoutView默认只接受POST请求。如果你的注销按钮是用普通<a>标签(GET请求)触发的,肯定会出问题。换成表单提交的方式:<form method="post" action="{% url 'logout' %}"> {% csrf_token %} <button type="submit">注销</button> </form>配置注销跳转地址:注销后如果没有正确跳转,在项目的
settings.py里添加LOGOUT_REDIRECT_URL,指定注销后要去的页面:LOGOUT_REDIRECT_URL = '/login/' # 可以换成首页或其他你需要的页面路径确认模板路径正确:检查
logout.html是否放在了Django能找到的位置,比如users_app/templates/logout.html或者项目根目录的templates文件夹下,确保模板加载路径配置正确。验证URL配置:如果项目主
urls.py是通过include引入users_app的URL,要确认命名空间是否匹配;若直接使用当前代码的urlpatterns,这一步可先跳过,前面方法无效时再排查。
内容的提问来源于stack exchange,提问作者Emcent
相关产品推荐
相关产品推荐

