Tentei implementar o user.is_authenticated como uma forma de não permitir o login de alguém já logado, mas ao que me pareceu, o logout não funcionou corretamente:
def login(request):
form = LoginForms()
if request.method == 'POST':
form = LoginForms(request.POST)
if form.is_valid():
nome=form['nome_login'].value()
senha=form['senha'].value()
usuario = auth.authenticate(
request,
username=nome,
password=senha
)
if usuario is not None:
if usuario.is_authenticated:
auth.login(request, usuario)
messages.success(request, f"{nome} você já está logado")
return redirect('index')
else:
auth.login(request, usuario)
messages.success(request, f"{nome} logado com sucesso")
return redirect('index')
else:
messages.error(request, "Erro ao efetuar login")
return redirect('login')
return render(request, "usuarios/login.html", {"form": form})
No entanto uma vez feito o login, mesmo quando eu aperto o botão de logout, a próxima tentativa de login não ocorria. Estou usando errado o user.is_authenticated? Ainda, mesmo criando um user novo, na primeira tentativa eu já tenho o output de "user você já está logado".