我是 Python/flask 的新手,在处理一些数据库问题时遇到了问题。
我能够在不同的函数中连接到 MySQL 数据库,并使用 wtforms 从插入数据库的用户那里获取表单输入。现在我想使用 jinja 模板以表格格式在“仪表板”页面上显示存储在数据库中的数据。每次有人提交新表单时,我都希望表格扩展以包含该数据。
但是,似乎根本没有显示任何内容,即使是现有数据也让我相信我在下面的第二个代码片段中做错了什么。我在运行 python 文件时没有收到任何错误,所以也许我做错了 HTML 模板?
数据库连接(dbconnect.py):
import MySQLdb
def connection():
# Edited out actual values
conn = MySQLdb.connect(host="",
user="",
passwd="",
db = "")
c = conn.cursor()
return c, conn
主要的python代码(不知道是否需要try/except):
from dbconnect import connection
from flask import Flask, render_template
@app.route('/dashboard/')
def display_deals():
try:
c, conn = connection()
query = "SELECT * from submissions"
c.execute(query)
data = c.fetchall()
conn.close()
return data
return render_template("dashboard.html", data=data)
except Exception as e:
return (str(e))
HTML:
<table border="1" cellpadding="5" cellspacing="5">
{% for row in data %}
<tr>
{% for d in row %}
<td>{{ d }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
最佳答案
在返回呈现的模板文件之前,您有一个return
语句。
关于Python:如何在 Flask 应用程序的表格中显示来自 MySQL 查询的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43310475/