Python:如何在Flask应用程序的表中显示MySQL查询的数据

时间:2017-04-09 18:39:34

标签: python mysql sql flask

我对Python /烧瓶比较陌生,而且我遇到了一些数据库问题。

我能够在不同的函数中连接到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>

1 个答案:

答案 0 :(得分:0)

You have a return statement before return the rendered template file.