Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Concertando erro da página ('/novo')

A linha de código não estava funcionando para mim:

@app.route('/novo')
def novo():
    if 'usuario_logado' not in session or session['usuario_logado'] == None:
        return redirect('/login')
    return render_template('novo.html', titulo='Novo jogo')

Então resolvi da seguinte forma: *Já que o nome de usuário não pode ser vazio ou se ele errar a senha, as duas condições serão None, logo if 'usuario_logado' not in session não é necessário:

@app.route('/novo')
def novo():
    if session['usuario_logado'] is not None: 
        return render_template('novo.html', titulo='Novo jogo', sair=''127.0.0.1:5000/logout) 
    return login()

@app.route('/logout')
def logout():
    session['usuario_logado'] = None #Essa linha fez a diferença
    flash('Nenhum usuário logado')
    return redirect('/')

#para facilitar o teste adicionei um botão na página ('/novo'), e assim sair da sessão:
<a href="{{ sair }}">
    <button type="button" class="btn btn-primary btn-sair">Sair</button>
</a>
1 resposta
solução

Oi Larissa, tudo bem?

Parabéns pela solução alternativa e por acrescentar mais uma funcionalidade(o botão de sair). Continue neste caminho. E qualquer dúvida, conte com a gente.

Abraços e bons estudos!