使用flask在html上显示来自mysql数据库的数据

uqxowvwt  于 2023-04-18  发布在  Mysql
关注(0)|答案(1)|浏览(357)

我一直在研究如何使用flask在html上显示来自mysql数据库的数据。
我的连接到数据库是成功的和html页面显示。只是不显示的数据
想要显示数据库中的“info_table”。有2个属性“name”和“age”
行“app.route('/display',methods=['GET'])”是否正确?
app.py

from flask import Flask, render_template, request
from flask_mysqldb import MySQL

app = Flask(__name__)
app.debug = True

app.config['MYSQL_HOST'] = ''
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = ''
app.config['MYSQL_DB'] = 'DB'

mysql = MySQL(app)

app.route('/display', methods=['GET'])
def display():
    cursor = mysql.connection.cursor()
    cursor.execute("SELECT * FROM info_table")
    data = cursor.fetchall()
    return render_template('display.html', info_table=data)

app.run(host='localhost', port=3306)

display.html:

t<!DOCTYPE html>
<html>
<head>
 <title></title>
</head>
<body>
<style>

 td {
        width: 150px;
        text-align: center;
        border: 1px solid black;
        padding: 5px;
      }
</style>
<table>
  <thead>
    <tr>
        <th>name</th>
        <th>age </th>
    </tr>
    </thead>
    <tbody>
     {% for row in data %}
            <tr>
                <td>{{row[0]}}</td>
                <td>{{row[1]}}</td>
            </tr>
        {% endfor %}
    </tbody>
</table>
</body>
</html>
thigvfpy

thigvfpy1#

首先我要感谢你一直在尝试和询问。
关于app.pyapp.route('/display', methods=['GET'])中的请求处理程序,您应该将其定义为一个装饰器,如@app.route('/display', methods=['GET']),然后在display.html中,在for循环中将data变量更改为info_table,因为这是您将数据Map到它的真实的属性

相关问题