Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Quando tento puxar os dados do Banco para a tabela html, aparece só as linhas

Tentei diferenciar um pouco do código do professor. O código faz o seguinte: Quando estou na aba de inserção de dados ele cadastra o que digitei no banco, entretanto quando busco esses dados no banco e tento jogar em cada coluna da tabela, nada além de uma linha vazia aparece. Alguém sabe como posso resolver? Já tentei de tudo que eu pude imaginar.

Seguem os códigos:

HTML:

  <tbody class="table table-striped">
                            {% for dado in dados%}
                                <tr>
                                    <td>{{dado.codigo}}</td>
                                    <td>{{dado.nome}}</td>
                                    <td>{{dado.empresa}}</td>
                                    <td>{{dado.telefone}}</td>
                                    <td>{{dado.email}}</td>
                                </tr>
                            {% endfor %}
                        </tbody>

Módulo Python para gerar uma classe:


class Aprendizes:
    def __init__(self, codigo , nome, empresa, telefone, email):
            self.codigo=codigo
                self.nome=nome
                self.empresa=empresa
            self.telefone=telefone
            self.email=email

Aplicação Flask para COLETAR E INSERIR dados no Banco:

from flask import Flask, render_template, redirect, request, session
from modelos import User, Aprendizes
import mysql.connector
from inserts_select import insereAprendiz


app = Flask(__name__)
app.secret_key="iluvatar"
conexao = mysql.connector.connect(host='localhost', user='root', passwd='iluvatar96', db='registro_funcionarios')

app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = 'iluvatar96'
app.config['MYSQL_DATABASE_DB'] = 'registro_funcionarios'
app.config['MYSQL_DATABASE_Host'] = 'localhost'


def home():
    if 'usuario_logado' not in session or session['usuario_logado']==None:
        return redirect('/')
    else:
        selecionando = 'SELECT * FROM lista_aprendiz'
        cursor.execute(selecionando)
        for linha in cursor.fetchall():
            aprendiz=Aprendizes(linha[0],linha[1],linha[2],linha[3],linha[4])
            lista.append(aprendiz)
            return render_template('home.html', dados=lista)
        conexao.commit()


@app.route('/criarTabela', methods=["POST"])
def criartabela():
    codigo = request.form['aprendiz_codigo']
    nome = request.form['aprendiz_nome']
    empresa = request.form['aprendiz_empresa']
    telefone = request.form['aprendiz_telefone']
    email = request.form['aprendiz_email']

    insereAprendiz(codigo,nome, empresa, telefone, email)# esse modulo insere dados no banco
    return redirect('/home')
2 respostas

Oii Raul, tudo bem com você?

Por gentileza, compartilhe um link do drive com todo o seu projeto para que possamos efetuar os testes e sermos mais assertivos quanto a seu erro.

Fico no aguardo.

solução!

Olá Nádia, obrigado. Mas acabei encontrando a solução durante as várias tentativas. O que ocorria é que a ordem das rotas estava errada, então uma ação cancelava a outra. Bastou inverter a ordem que consegui puxar tudo que tinha no banco.