【问题标题】:How to query a database from my Flask python app?如何从我的 Flask python 应用程序查询数据库?
【发布时间】:2021-12-27 01:20:03
【问题描述】:

到目前为止,我已经成功地将我的代码连接到我要查询的 MariaDB 数据库:

from flask import Flask, render_template, request, flash
import mysql.connector
from datetime import date
import mariadb

app = Flask(__name__)

conn = mariadb.connect(host='IP', port= 3306, user='user', password='password', database='myDatabase')

cursor = conn.cursor()

result = cursor.execute('SELECT * FROM myTable LIMIT 10')

@app.route('/')
def index():
    return result
    return render_template('index.html')
    
# run the app.
if __name__ == "__main__":
    # Setting debug to True enables debug output. This line should be
    # removed before deploying a production app.
    app.debug = True
    app.run()

如何让查询显示在此网络应用的 HTML 页面上?

【问题讨论】:

  • 您需要将结果数据放入简单的python对象中,如列表或字典,然后将其传递给模板进行渲染。
  • 最好找到一些 Flask 教程 - 你会更快地获得所有答案。
  • return render_template('index.html', data=result.fetchall())HTML 你可以使用datafor-loop 来显示它。

标签: python mysql flask web-applications


【解决方案1】:

你应该在任何教程中得到它。


您必须将结果作为参数发送到render_template

@app.route('/')
def index():
    results = result.fetchall() # get all rows 
    return render_template('index.html', data=results)

接下来您可以在HTML 中使用名称data 来显示它。

{{ data }}

您可以在模板中使用for-loop 来格式化它。

<tabel>
{% for row in data %}
<tr>
    {% for item in row %}
      <td>{{ item }}</td>
    {% endfor %}
</tr>
{% endfor %}
</table>

render_template 中,您可以使用任何名称 - 即。 all_values=data - 并在HTML 中使用{{ all_values }}

【讨论】:

    猜你喜欢
    • 2014-03-09
    • 2020-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    • 2016-03-11
    • 1970-01-01
    相关资源
    最近更新 更多