即使在用户登录Django后仍显示登录页面的应用程序
当我登录到Django项目,然后按back按钮或输入登录页面url时,即使用户经过身份验证,我也会再次获得登录页面。我已尝试添加即使在用户登录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
重定向\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'),
,我认为这应该会有所帮助