一尘不染

Django:从登录页面重定向登录的用户

django

我想设置我的网站,以便如果用户点击该/login页面并且他们已经登录,它将把他们重定向到主页。如果未登录,它将正常显示。由于登录代码内置在Django中,我该怎么做?


阅读 609

收藏
2020-03-28

共1个答案

一尘不染

我假设你当前正在使用内置的登录视图,

(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),
2020-03-28