Не сохраняется логин в сессии Django
У меня есть три страницы, login, login_cont, login_reg. При неизвестном логине должно быть перенаправление на страницу login_reg. Но при вводе логина в консоль выводится None (print(user_login)). И не перенаправляется, остается на странице login.
#views.py
def login_page(request: WSGIRequest):
if request.method == 'POST':
form = LoginForm(request.POST)
if form.is_valid():
entered_login = form.cleaned_data['login']
if User.objects.filter(username=entered_login).exists():
request.session['login'] = entered_login
return redirect('login_cont')
else:
return redirect('login_reg')
else:
form = LoginForm()
return render(request, 'pages/login.html', {'form': form})
def login_cont_page(request: WSGIRequest):
user_login = request.session.get('login')
if request.method == 'POST':
form = PasswordForm(request.POST)
if form.is_valid():
password = form.cleaned_data['password']
user = authenticate(request, username=user_login, password=password)
if user is not None:
login(request, user)
return redirect('index')
else:
return render(request, 'pages/login_cont.html', {'form': form, 'error_message': 'Invalid password'})
else:
form = PasswordForm()
return render(request, 'pages/login_cont.html', {'form': form, 'user_login': user_login})
def login_reg_page(request: WSGIRequest):
user_login = request.session.get('login')
print(user_login)
if user_login and User.objects.filter(username=user_login).exists():
if request.method == 'POST':
form = RegForm(request.POST)
if form.is_valid():
password = form.cleaned_data['psw']
user = User.objects.create_user(username=user_login, password=password)
return redirect('index')
else:
form = RegForm()
return render(request, 'pages/login_reg.html', {'form': form, 'user_login': user_login})
else:
return redirect('login')