Вход в Django Sessions
В следующем разделе кода моего проекта Django есть функция login_view. Эта функция должна осуществлять вход в систему пользователя. Мой вопрос заключается в том, как я могу использовать сессии Django, чтобы начинать отдельную сессию при каждом входе в систему:
def login_view(request):
if request.method == "POST":
username = request.POST["username"]
password = request.POST["password"]
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return HttpResponseRedirect(reverse("index"))
else:
return render(request, "users/login.html", {
"message": "Invalid credentials"
})
return render(request, "users/login.html")
Вот что я попробовал:
def login_view(request):
if request.method == "POST":
username = request.POST["username"]
password = request.POST["password"]
user = authenticate(request, username=username, password=password)
if user is not None:
request.session['username'] = username
request.session['password'] = password
request.session['user'] = user
login(request, user)
return HttpResponseRedirect(reverse("index"))
else:
return render(request, "users/login.html", {
"message": "Invalid credentials"
})
return render(request, "users/login.html")
Тир этого метода :
def login(request):
if "username" in request.session:
return redirect("home")
if request.method=="POST":
username=request.POST.get('username')
password=request.POST.get('password')
user=user_details.objects.filter(username=username,password=password)
if user.exists():
messages.success(request, 'Successfully Logged In')
request.session["username"]=username
return redirect('home')
else:
context["error"] = "Invalid username or password"
return render(request,'login.html',context=context)