1
私はPython /フラスコには比較的新しいですし、データベースの一部に問題があります。Python:Flask App上のテーブルにMySQLクエリのデータを表示する方法
私は別の機能でMySQLデータベースに接続し、wtformsを使用してdbに挿入されたユーザーからフォーム入力を取得できました。今私はDBに格納されているデータを、「ダッシュボード」ページに、jinjaテンプレートを使用して表形式で表示したいとします。誰かが新しいフォームを提出するたびに、テーブルを展開してそのデータを追加します。
しかし、以下の2番目のコードスニペットで何か間違っていると私を信じさせる既存のデータでさえ、何も表示されないようです。私は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コード(しようとした場合必要であることを除い/知らない):
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>
返信文は実際問題を引き起こしていました。また、より大きな問題は、@ app.route( '/ dashboard /') 'を使用していた前の関数があったために関数が全く実行されていなかったということです。解決策は、2つの機能を組み合わせることでした。 – wjh18