对于登录,我通常使用内置视图:
(r'^login/$', 'django.contrib.auth.views.login'),
但是我今天注意到,如果我在已经成功登录后手动转到myserver.com/login
,我会再次看到登录页面。
这并不一致。解决这个问题的一种方法是,如果我可以在登录视图函数顶部有这两行:
if request.user.is_authenticated():
return HttpResponseRedirect('/')
这样如果用户已经通过身份验证,请重定向到/。
有没有办法在仍然使用 'django.contrib.auth.views.login' 登录的同时实现这一点?
更新:
似乎有人已经有这个问题了: Django: Redirect logged in users from login page
然而,该解决方案似乎不再适用于 Django 1.5
在自定义登录中,它会在以下位置引发异常:
return login(request)
-->
AttributeError: 'AnonymousUser' object has no attribute 'backend'