0
对于登录我通常使用内置的观点:Django:在内置视图中,如何重定向到/如果用户已经过身份验证?
(r'^login/$', 'django.contrib.auth.views.login'),
但是今天我注意到,如果我手动去myserver.com/login
已经成功登录后,我可以再次看到登录页面。
这不一致。解决的方法之一,就是如果我能对登录查看功能的顶部两行:
if request.user.is_authenticated():
return HttpResponseRedirect('/')
因此,如果用户已经通过身份验证,请重定向到/。
有没有办法实现这一点,同时仍然使用'django.contrib.auth.views.login'登录?
UPDATE:
好像有人有这个问题已经: Django: Redirect logged in users from login page
但是该解决方案似乎没有任何更长的时间来工作,在Django 1.5
在自定义登录它抛出以下例外:
return login(request)
- >
AttributeError: 'AnonymousUser' object has no attribute 'backend'
我的个人意见 - 不要这样做。如果用户想要进入登录页面,他应该看到登录页面,无论他是否已经登录。 – matino 2013-03-20 08:07:37
https://django-document-korean.readthedocs.org/en/latest/topics/auth.html#django.contrib.auth.decorators.login_required – catherine 2013-03-20 08:20:18
[Django:从登录页面重定向登录用户]的可能重复( http://stackoverflow.com/questions/2320581/django-redirect-logged-in-users-from-login-page) – laffuste 2014-05-04 12:54:20