Nie pokazujące się wartości w tabelce

0

Cześć, Mam problem z wyświetlaniem danych w webserverze. W załączonym screenie przesyłam okno w którym powinny wyświetlać mi się dane które dodałam. Po dodaniu rekordu w większa mi się liczba wierszy w webserverze ale dalej nie wyświetla danych.

Kod:

main.py:

from flask import Flask, render_template
from flask_mysqldb import MySQL

app = Flask(__name__)

mysql = MySQL()

app.config['MYSQL_HOST'] = ' '
app.config['MYSQL_USER'] = ' '
app.config['MYSQL_PASSWORD'] = ' '
app.config['MYSQL_DB'] = ' '
mysql.init_app(app)

@app.route('/')
def Index():
    cur = mysql.connect.cursor()
    cur.execute("SELECT * FROM  employee")
    data = cur.fetchall()
    cur.close()
    return render_template('index.html', employee=data)


if __name__ == "__main__":
    app.run(port=3000, debug=True)

index.html:

{% extends "layout.html" %}

{% block body %}
 <div class="row"><h3>Employee</h3></div>
 <div class="row">
  <div class="col-md-4">
   <div class="card card-body">
    form
   </div>
  </div>
  <div class="col-md-8">
   <table id="example" class="table table-striped table-bordered" style="width:100%">
    <thead>
     <tr>
      <td>ID</td>
      <td>fullname</td>
      <td>email</td>
      <td>phone</td>
      <td>Action</td>
     </tr>
    </thead>
    <tbody>
     {% for data in employee %}
     <tr>
      <td>{{data.id}}</td>
      <td>{{data.name}}</td>
      <td>{{data.email}}</td>
      <td>{{data.phone}}</td>
      <td width="130">
       <a href="/edit/{{data.id}}" class="btn btn-secondary btn-sm">edit</a>
       <a href="/delete/{{data.id}}" class="btn btn-danger btn-delete btn-sm">delete</a>
      </td>
     </tr>
     {% endfor %}
    </tbody>
   </table>
  </div>
 </div>
 </div>
{% endblock %}

Zrzut ekranu 2022-10-29 171256.png

3

@Klaudia Balicka:

mało coś wiem, ale bardzo to wygląda, że problem jest nie w starterze który pokazujesz, a w templejtach których nie pokazujesz.

47

Najprościej sprintować data i zobaczyć co zwraca. Strzelam, że może być to List[Tuple]

0

sprintowalam i otrzymalam takie wyniki

screenshot-20221102152000.png

47
Klaudia Balicka napisał(a):

sprintowalam i otrzymalam takie wyniki

screenshot-20221102152000.png

Czyli miałem po części racje. W obecnej sytuacji musisz wywoływać te pola w HTML po indexie np data[1].

Poczytaj również o SQLalchemy, bo tutaj Ci się zdecydowanie przyda.

0
ledi12 napisał(a):
Klaudia Balicka napisał(a):

sprintowalam i otrzymalam takie wyniki

screenshot-20221102152000.png

Czyli miałem po części racje. W obecnej sytuacji musisz wywoływać te pola w HTML po indexie np data[1].

Poczytaj również o SQLalchemy, bo tutaj Ci się zdecydowanie przyda.

dzięki ! :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1