Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Tratamento de erro para caso o usuário digite ou coloque um id errado na url

{% extends 'template.html' %}

{% block conteudo %}
{# validação #}
{% if jogo %}
  <div class="container">
    <div class="page-header">
        <h1>{{ titulo }}</h1>
    </div>
    <form action="{{url_for('atualizar')}}" method="post">
      <fieldset>
        <div class="form-group">
          <label for="nome">Nome</label>
          <input type="text" id="nome" name="nome" class="form-control" value="{{jogo.nome}}">
        </div>
        <div class="form-group">
          <label for="categoria">Categoria</label>
          <input type="text" id="categoria" name="categoria" class="form-control" value="{{jogo.categoria}}">
        </div>
        <div class="form-group">
          <label for="console">Console</label>
          <input type="text" id="console" name="console" class="form-control" value="{{jogo.console}}">
        </div>
        <button type="submit" class="btn btn-primary btn-salvar">Salvar</button>
      </fieldset>
    </form>
  </div>
  {% else %}
  <script>
    window.location.href="http://127.0.0.1:5000/"

  </script>
{% endif %}

{% endblock %}
1 resposta
solução!

Olá Antônio, tudo bem com você?

Obrigado por compartilhar sua solução conosco e explorar ainda mais do framework Flask. Com certeza ajudará outros alunos e alunas que queiram implementar esta restrição no projeto.

A título de curiosidade, o próprio Flask possui um recurso para tratar solicitações de páginas inexistentes. Isso é possível através do decorador @app.errorhandler que captura a exceção 404 (página não encontrada) e retorna uma mensagem de erro personalizada para o usuário. Por exemplo:

from flask import Flask

app = Flask(__name__)

@app.errorhandler(404)
def page_not_found(error):
    return "Página não encontrada", 404

@app.route('/')
def index():
    return "Página inicial"

@app.route('/hello')
def hello():
    return "Olá, mundo!"

if __name__ == "__main__":
    app.run()

Com o código acima, ao acessarmos a rota http://localhost:5000/teste, por exemplo, que não foi configurada, teremos como retorno que a página não foi encontrada.

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!