1
resposta

Como resetar o inicio

Adicionei vários jogos, e quando abro o http://127.0.0.1:5000/inicio, aparecem todos, gostaria de zerar para refazer o exercício, mas mesmo iniciando um novo arquivo, os jogos adicionados permanecem, gostaria de zerar

1 resposta

Oii Heitor, como você está?

Peço desculpas pela demora em obter um retorno.

Uma das formas de fazermos isso é criarmos um botão na página inicial que irá resetar o estado da lista, que nesse caso está se iniciando com dois jogos.

Em código teremos que criar um botão (button) no arquivo lista.html que irá redirecionar para uma função responsável por resetar a lista, veja como fica:

<button type="button" onclick="window.location.href='{{url_for("reseta_lista")}}'">Resetar lista de jogos</button>
<table class="table table-striped table-responsive table-bordered">
      código omitido...
</table>

Utilizamos a função url_for do Flask para redirecionarmos para a função responsável por limpar a lista que está nomeada como reseta_lista. Essa função será programada no arquivo jogoteca.py como mostro abaixo:

@app.route('/reseta_lista')
def reseta_lista():
    # remove todos os elementos da lista
    lista.clear() 
    # adiciona os jogos inicias na lista
    lista.append(jogo1)
    lista.append(jogo2) 
    # redireciona para a página inicial
    return redirect('/')

Com o código acima, retiramos através do método clear() todos os elementos da lista e após isso, através do método append adicionamos os dois jogos inicias que começam na lista, mas caso queira deixá-la vazia, basta excluir as partes do append. Abaixo um gif que mostra o funcionamento do código, onde ao clicar no botão "Resetar lista de jogos", todos os elementos são excluídos, com exceção dos dois primeiros inicias:

Funcionamento ao clicar em Resetar lista de jogos

Espero ter ajudado e qualquer dúvida estou por aqui.

Grande abraço!