2
respostas

função de login não está verificando se o email existe

Código para na verificação se o email e a senha estão vazios.


def login(request):
    if request.method == "POST":
        email = request.POST["email"]
        senha = request.POST["senha"]
        if email == "" or senha == "":
           print("Os campos email e senha não podem ficar em branco")
           return redirect("login")
        print(email, senha)

        if User.objects.filter(email=email).exists():
            nome = (
                User.objects.filter(email=email)
                .values_list("username", flat=True)
                .get()
            )
            user = auth.authenticate(request, username=nome, password=senha)
            if user is not None:
                auth.login(request, user)
                print("Login realizado com sucesso")
                return redirect("dashboard")
    return render(request, "usuarios/login.html")
2 respostas

Agora está aparecendo esse erro !

'AnonymousUser' object has no attribute '_meta'

Olá Ellison, tudo bem com você?

Peço desculpas pela demora no retorno.

Gostaria de saber se o erro persiste. Simulei usando o código apresentado na postagem com os códigos usados na aula mas não fui capaz de obter o mesmo erro, o código funcionou conforme o esperado.

Peço que envie o projeto completo, assim poderei realizar simulações com o objetivo de auxiliar de uma forma assertiva, para isso, basta seguir os passos abaixo.

  • Navegue até a pasta do projeto, clique com o botão direito na pasta, no menu de contexto que será aberto escolha Enviar para logo após Pasta compactada, aguarde o sistema compactar os arquivos.
  • Após a compactação realizada, abra o google drive, escolha uma pasta de sua preferência, clique com o botão direito no centro da tela, escolha Upload de arquivo, na janela que será aberta, escolha o arquivo que foi compactado e clique em Abrir na base direita da janela. Aguarde o upload do arquivo.
  • Quando finalizado o upload, clique com o botão direito no arquivo que será compartilhado, no menu de contexto aberto clique em Gerar link.
  • Na janela que será aberta, confirme a privacidade de acesso, mantenha como Leitor, clique em Copiar Link e em Concluído.
  • Nesse momento abra a postagem em que será enviado o código, clique com o botão direito no campo de texto e clique em colar ou pressione ctrl + c.
  • Após colar o link clique em Responder.

Início da transcrição. GIF contendo a execução do passo a passo listado anteriormente, a esse GIF. Final da transcrição.

Fico à disposição e no aguardo.

Abraços e bons estudos.

Fico no Aguardo :)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software