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



我想从登录页面重定向用户,如果他已经登录;这意味着已登录的用户将不再具有访问登录页面的权限。登录页面看起来像这样:example.com/login

是我在view.py中的代码:

def login(request):
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(request, username=username, password=password)
if user is not None:
logIn(request, user)
return redirect('/')
else:
messages.info(request, 'username or password is wrong')
context = {}
return render(request, 'account/login.html', context)

您可以使用以下代码作为参考:

def login(request):
if request.user.is_authenticated():
return redirect("/")

除了几个错别字外,您的观点似乎还可以。只需在login视图的顶部添加一个额外的控制语句,例如:

def login(request):
# Logged in users will be redirected to 'home' page
if request.user.is_authenticated():
return redirect('home')
if request.method == 'POST':
....

最新更新