1
resposta

Página editar não puxa as informações dos jogos.

A página de editar não está puxando as informações dos jogos que desejo alterar:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeO código se encontra da seguinte forma:

@app.route('/editar/<int:id>')
def editar(id):
    if 'usuario_logado' not in session or session['usuario_logado'] == None:
        return redirect(url_for('login', proxima=url_for('editar', id=id)))
    jogo = Jogos.query.filter_by(id = id).first
    return render_template('editar.html', titulo='Editando Jogo', jogo=jogo)
{% extends "template.html" %}
{% block conteudo %}
      <form action="{{ url_for('atualizar') }}" method="post">
        <fieldset>
          <input type="hidden" name="id" value="{{ jogo.id }}">
          <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>
{% endblock %}
1 resposta

Oi Kleber,

Parece que o problema pode estar nesta linha do teu código

jogo = Jogos.query.filter_by(id=id).first

Você está utilizando .first ao invés de .first() para executar a query. Como resultado, você está atribuindo o método first ao objeto jogo, não executando a consulta corretamente.

Corrija essa linha para:

jogo = Jogos.query.filter_by(id=id).first()

Agora, o método first() será chamado, e o objeto jogo deve conter as informações corretas.

Depois de fazer essa alteração, teste novamente a página de editar. Se o problema persistir, pode haver outros pontos para verificar, mas começar com essa correção é um bom passo.

Espero que isso ajude!