Function to let the user to login as follows=>
Obviously this error pops
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"))
elif user is None:
return render(request, "covi/signin.html", {
"message": "Invalid username and/or password."
})
else:
return render(request, "covi/signin.html")
CodePudding user response:
It's because
user = authenticate(request, username=username, password =password)
runs only if request.method == 'POST'
. If you do a GET request user won't be assigned.
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"))
elif user is None:
return render(request, "covi/signin.html", {
"message": "Invalid username and/or password."
})
return render(request, "covi/signin.html")