自定义注销页面未登陆

Posted

技术标签:

【中文标题】自定义注销页面未登陆【英文标题】:Custom logout page not landing 【发布时间】:2020-04-29 09:47:10 【问题描述】:

点击注销按钮后自定义登陆页面没有登陆,但是默认的django-admin页面登陆了!

嘿!我正在尝试通过示例从 django2 书中学习 django,因此我创建了一个仪表板页面,该页面有一个注销按钮,但单击该按钮时它显示 django-admin 登录页面,而不是我创建的页面!

urls.py(主项目)

from django.contrib import admin
from django.urls import path,include

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

urls.py(账户应用)

from django.urls import path
from . import views
from django.contrib.auth import views as auth_views



urlpatterns = [
                # post views
                
                path('login/', auth_views.LoginView.as_view(), name='login'),
                path('logout/', auth_views.LogoutView.as_view(), name='log_out'),
                path('', views.dashboard, name='dashboard'),
                # change password urls
                path('password_change/',auth_views.PasswordChangeView.as_view(),
                                        name='password_change'),
                path('password_change/done/',auth_views.PasswordChangeDoneView.as_view(),
                                            name='password_change_done'),
            ]

它应该显示 thisenter image description here 但显然它显示的是 django-admin 默认注销页面enter image description here

logged_out.html

% extends "base.html" %
    
    
    % block title %Logged out% endblock %
    % block content %
    <h1>Logged out</h1>
    <p>You have been successfully logged out. You can <a href="% url
    "login" %">log-in again</a>.</p>
    % endblock %

更新-得到了解决方案。

【问题讨论】:

这能回答你的问题吗? why is logged_out.html not overriding in django registration? 【参考方案1】:

没关系!我得到了解决方案,我只需要在 django.contrib.admin 之前提及我的应用程序,因为应用程序和默认管理员共享相同的 url 和视图。因此,为了查看我的自定义页面,我必须按照上述设置更改 INSTALLED_APPS 中的设置..

【讨论】:

以上是关于自定义注销页面未登陆的主要内容,如果未能解决你的问题,请参考以下文章

为啥它呈现 django 管理站点而不是自定义注销页面

Woocommerce 自定义注销无需确认

Spring Security 四自定义页面

Wordpress在自定义登陆页面并且禁用自带的登陆页面

SharePoint 自定义登录页面代码(SharePoint 模拟登陆)

Django里自定义用户登陆及登陆后跳转到登陆前页面的实现