Я закодировал перенаправление на страницу входа в систему при запросе домашней страницы. Всякий раз, когда я пытаюсь нажать кнопку home с другой страницы, это приводит к входу в систему даже после входа в систему.

view

def index(request): response=redirect('/login') return response

login.views

from django.shortcuts import render, redirect
from register.models import reg

def login(request):
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        user = reg.objects.filter(username=username, password=password)
        if user:
            user_details = reg.objects.get(username=username, password=password)
            id = user_details.id
            username_user = user_details.username
            request.session['id'] = id
            request.session['username'] = username_user
            return render(request,'index.html')
        else:
            return render(request,'register.html')
    else:
        return render(request, 'login.html')

Вы перенаправляете на вход в систему в вашем представлении index, поэтому, конечно, вы были бы перенаправлены при нажатии на кнопку home. Вы должны проверить, подключен ли пользователь, затем, если это так, вы не перенаправляете, так что что-то вроде этого (предполагая, что вы используете систему аутентификации Django) :

def index(request):
    if request.user.is_authenticated :
       # Do something for authenticated users

    else:
        response=redirect('/login')
        return response
Вернуться на верх