Quando eu tento fazer login sem inserir um usuáro registrado no banco acontece este erro 'NoneType' object is not subscriptable.
def buscar_por_id(self, id):
cursor = self.__db.connection.cursor()
cursor.execute(SQL_USUARIO_POR_ID, (id,))
tupla = cursor.fetchone()
return Usuario(tupla[1], tupla[2], tupla[3], id=tupla[0])
# ocutar restante do código
def traduz_usuario(usuarios):
def cria_usuario_com_tupla(tupla):
return Usuario(tupla[1], tupla[2], tupla[3], id=tupla[0])
return list(map(cria_usuario_com_tupla, usuarios))
Mas caso eu coloque um usuário valido, o condígo flui normalmente e passa pelo laço
@app.route('/autenticar', methods=['POST', ])
def autenticar():
usuario = usuario_dao.buscar_por_usuario(request.form['usuario'])
if usuario:
if usuario.senha == request.form['senha']:
session ['usuario_logado'] = usuario.id
flash(usuario.nome + ' Logado com sucesso!')
proxima_pagina = request.form['proxima']
return redirect(proxima_pagina)
else:
flash('Usuario ou senha errados, porfavor tente novamente.')
return redirect(url_for('login'))
Eu fiz algumas mudanças do código original do curso, mas o original do curso dava um erro igual, mas era referente quando inseria uma senha que não era registradado no banco de dado.