即使在用户登录Django后仍显示登录页面的应用程序

即使在用户登录Django后仍显示登录页面的应用程序,django,authentication,redirect,Django,Authentication,Redirect,当我登录到Django项目,然后按back按钮或输入登录页面url时,即使用户经过身份验证,我也会再次获得登录页面。我已尝试添加重定向\u认证\u用户,如下代码所示: from django.contrib import admin from django.urls import path, include from django.contrib.auth.decorators import login_required from django.contrib.auth import views

当我登录到Django项目,然后按back按钮或输入登录页面url时,即使用户经过身份验证,我也会再次获得登录页面。我已尝试添加
重定向\u认证\u用户
,如下代码所示:

from django.contrib import admin
from django.urls import path, include
from django.contrib.auth.decorators import login_required
from django.contrib.auth import views as auth_views
from django.conf.urls import url

admin.autodiscover()
admin.site.login = login_required(admin.site.login)

urlpatterns = [
    path('admin/', admin.site.urls),
    path('accounts/', include('django.contrib.auth.urls')),
    path('accounts/login/', auth_views.LoginView.as_view(redirect_authenticated_user=True), name='login'),
]

不确定我是否执行了错误的操作。

我认为您需要像这样交换url模式的顺序:

urlpatterns=[
路径('admin/',admin.site.url),
路径('accounts/login/',auth_views.LoginView.as_view(redirect_authenticated_user=True),name='login'),
路径('accounts/',包括('django.contrib.auth.url'),
]

当您尝试访问一个端点时,Django会将其与url模式中第一个合适的url相匹配(在您的情况下,它是默认的Django登录,没有传递任何参数)

您可以上传您的
登录吗
视图?交换
路径('accounts/',include('Django.contrib.auth.url'),
路径吗('accounts/login/',auth_views.LoginView.as_view(redirect_authenticated_user=True),name='login'),
,我认为这应该会有所帮助