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)

Ваши представления выглядят нормально, кроме пары опечаток. Просто добавьте дополнительный оператор управления в верхнюю часть вашего представления 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':
    ....

Вы можете использовать следующий код в качестве справочника:

def login(request):
    if request.user.is_authenticated():
        return redirect("/")
Вернуться на верх