Django redirect_authenticated_user: True 不工作

Django redirect_authenticated_user: True not working

我正在用 Django 1.11 编写应用程序。

myapp/urls.py 模式看起来像

from django.conf.urls import url, include
from django.contrib import admin
from django.contrib.auth.views import LoginView

urlpatterns = [
    url(r'^login/$', LoginView.as_view(), {'redirect_authenticated_user': True}),
    url('^', include('django.contrib.auth.urls')),
    url('^', include('pages.urls')),
    url(r'^pages/', include('pages.urls')),
    url(r'^search/', include('search.urls')),
    url(r'^admin/', admin.site.urls),
]

我希望登录用户在尝试访问 /login 页面时被重定向。为此,我按照文档 here

中的规定将 redirect_authenticated_user 设置为 True

但是,当我在成功登录后访问 /login 时,它没有重定向。

redirect_authenticated_user传递给as_view():

urlpatterns = [
    url(r'^login/$', LoginView.as_view(redirect_authenticated_user=True)),

Any arguments passed to as_view() will override attributes set on the class. In this example, we set template_name on the TemplateView. A similar overriding pattern can be used for the url attribute on RedirectView.

来自Simple usage in your URLconf

对于任何使用 Django 2 进行研究的人,您实际上会使用类似于 OP 的 kwargs

from django.contrib.auth import views as auth_views

urlpatterns = [
    path('login/', auth_views.login, {'redirect_authenticated_user': True}, name='login'),
]

https://docs.djangoproject.com/en/2.0/topics/http/urls/#views-extra-options