从Django 2中的身份验证路由重定向登录的用户

问题描述 投票:0回答:1

我正在跟踪this guide以使用Django的内置django.contrib.auth.urls构建用户身份验证系统>

除了似乎已经登录的用户仍然能够访问身份验证URL(例如登录名,password_reset等)之外,其他所有东西似乎都运行良好”>

我搜索了解决方案,并找到了a solution,建议在单个基于类的视图上使用redirect_authenticated_user

[Another solution在自定义视图上使用request.user.is_authenticate提及。

是否有使用django.contrib.auth.urls的干净方法而不指定单个基于类的URL?

类似这样的东西:

urlpatterns = [
    # Redirection is not working this way
    path('accounts/', include('django.contrib.auth.urls', {'redirect_authenticated_user': True})),
]

我所需要的是,如果登录的用户尝试访问django.contrib.auth.urls的任何URL,则应将其自动重定向到某些内页。

大多数解决方案都提到创建单独的URL来实现此重定向。我可以集体申请django.contrib.auth.urls吗?

我正在按照本指南使用Django内置的django.contrib.auth.urls构建用户身份验证系统,除了已经登录的用户仍然能够使用...,其他所有内容似乎都运行良好。]] >

很遗憾,您必须为每个身份验证视图执行此操作。您在错误的功能中使用了kwarg。您应该在以下位置这样做:

url(r'^login/',
    auth_views.LoginView.as_view(redirect_authenticated_user=True),
    name='login'),

对于密码视图,必须重复相同的操作

python django authentication routes django-2.2
1个回答
0
投票

很遗憾,您必须为每个身份验证视图执行此操作。您在错误的功能中使用了kwarg。您应该在以下位置这样做:

url(r'^login/',
    auth_views.LoginView.as_view(redirect_authenticated_user=True),
    name='login'),
© www.soinside.com 2019 - 2024. All rights reserved.