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>