Я закодировал перенаправление на страницу входа в систему при запросе домашней страницы. Всякий раз, когда я пытаюсь нажать кнопку 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