2
respostas

[Sugestão] sugestão de validação logout.

Como eu fiz uma validação para o logout````` def login(request): form = LoginForm()

if request.method == 'POST':
    form =LoginForm(request.POST)

    if form.is_valid():
        nome=form["login"].value()
        senha=form["senha"].value()

        usuario= auth.authenticate(request,username=nome,password=senha,
                      )
        if usuario is not None:
            auth.login(request, usuario)
            messages.success(request, f"{nome} logado com sucesso")
            return redirect('index')
        else:
            messages.error(request,"Login ou senha incorretos")
            return redirect('login')


return render(request, 'usuarios/login.html', {"form": form})

```def logout(request):

if request.user.is_authenticated:
    auth.logout(request)
    messages.success(request, "Você foi deslogado com sucesso!")
    return redirect('login')
else:
    messages.info(request, "Você não está logado!")
    return redirect('index')
2 respostas

Oi, Carlos Eduardo! Como vai?

Gostei de como você estruturou a validação no logout e o uso do auth.logout no Django para confirmar se o usuário está autenticado antes de deslogar. Isso melhora a experiência do usuário com mensagens claras de sucesso ou informação.

Caso precise conte com o apoio do Fórum na sua jornada.

Bons estudos!

`if not request.user.is_authenticated:
    messages.error(request,'usuário não esta logado')
    return redirect('login')
auth.logout(request)
messages.success(request,'Usuário deslogado com sucesso')
return redirect('login')`

Maneiro a validação do colega, eu fiz dessa maneira no meu código e ficou top também.

Antes, mesmo sem ter usuário logado quando clicava em logout o sistema retornava mensagem de sucesso, e isso fazia com que o comportamento da função seja executado mesmo não tendo ninguem logado, dessa forma agora, estou validando caso não tenha usuário autenticado o sistema não executa o logout 

Só compartilhando minha ideia, forte abraço