O código está bem legal, mas ainda, o else do professor somente verifica o ID do usuário, caso esse esteja correto e a senha não, vai gerar um erro. O correto seria ter também dentro do segundo if.
O código está bem legal, mas ainda, o else do professor somente verifica o ID do usuário, caso esse esteja correto e a senha não, vai gerar um erro. O correto seria ter também dentro do segundo if.
Olá Guilherme, tudo bem com você?
Peço desculpas pela demora no retorno.
Fico feliz que tenha gostado do código desenvolvido durante o curso. Essa observação sobre a autenticação dos dados do usuário é muito importante, quando estamos codificando nossos projetos, temos que sempre realizar essas avaliações e testes de modo a sabermos onde podemos implementar o código.
Implementar a autenticação do usuário como sugerido, teremos a adição da condição else
que será executada caso o usuário informado esteja correto, mas com a senha errada, a implementação ficará como apresentada abaixo:
@app.route('/autenticar', methods=['POST', ])
def autenticar():
if request.form['usuario'] in usuarios:
usuario = usuarios[request.form['usuario']]
if usuario.senha == request.form['senha']:
session['usuario_logado'] = usuario.id
flash(usuario.nome + ' logou com sucesso!')
proxima_pagina = request.form['proxima']
return redirect(proxima_pagina)
else:
flash('Senha inválida, tente de novo!')
return redirect(url_for('login'))
else:
flash('Não logado, tente denovo!')
return redirect(url_for('login'))
Com a implementação acima o erro TypeError: The view function for 'autenticar' did not return a valid response não será apresentado caso um usuário cadastrado erre a senha.
Fico à disposição em caso de dúvidas.
Abraços e bons estudos.