我想设置我的网站,以便如果用户点击该/login页面并且他们已经登录,它将把他们重定向到主页。如果未登录,它将正常显示。由于登录代码内置在Django中,我该怎么做?
/login
我假设你当前正在使用内置的登录视图,
(r'^accounts/login/$', 'django.contrib.auth.views.login'),
或你网址中的类似内容。
你可以编写包含默认视图的登录视图。它将检查用户是否已经登录,如果已经登录则重定向,否则使用默认视图。
就像是:
from django.contrib.auth.views import login def custom_login(request): if request.user.is_authenticated(): return HttpResponseRedirect(...) else: return login(request)
当然可以相应地更改你的网址:
(r'^accounts/login/$', custom_login),