Olá pessoal da Alura,
Estou fazendo meu sistema um pouco diferente, eu simplesmente não quero o 'usuario_logado' quando for None ou não estiver na sessão, veja minhas páginas, e para isso em todas as funções de exibir uma página eu coloco o seguinte código mostrado na aula.
if 'usuario_logado' not in session or session['usuario_logado'] == None:
return redirect('/login')
Até aqui tudo certo, meu problema é que eu não queria colocar esse código em todas as minhas funções que renderizam páginas, então fiz a seguinte função.
def verifica_login():
if 'usuario_logado' not in session or session['usuario_logado'] == None:
print('aa')
return redirect('/login')
Só que quando eu uso essa função e ela printa o 'aa' (o que significa que estou sem usuário) ela simplesmente não redireciona para login, ao contrário de quando o código na função de exibir uma página.
Resumindo: Jeito 1: Funciona
@app.route('/')
def exibir_index():
if 'usuario_logado' not in session or session['usuario_logado'] == None:
return redirect('/login')
return render_template('certificado_lista.html',
titulo="Lista de Certificados",
certificados=lista)
Jeito 2: Não Funciona
@app.route('/')
def exibir_index():
verifica_login()
return render_template('certificado_lista.html',
titulo="Lista de Certificados",
certificados=lista)
def verifica_login():
if 'usuario_logado' not in session or session['usuario_logado'] == None:
print('aa')
return redirect('/login')
Por que o Jeito 2 não funciona?