繁体   English   中英

如何从 Python Flask 上的 MySQL DB 获取数据?

[英]How to get Data from MySQL DB on Python Flask?

我正在使用 MySQL Workbench 学习 Python Flask,我的 Workbench 中有一个数据库“books”和一个表“books.books_tb”。 我使用教程制作了一个简单的 Flask 应用程序,如下所示:

from flask import Flask
from flask_mysqldb import MySQL

@app.route('/books')
def home():
    def GetBookLink():
        mydb = mysql.connector.connect(
                    host='localhost',
                    user = 'root',
                    database = 'books'
                    )
        mycursor = mydb.mycursor()

        
        
        mycursor.execute("SELECT * FROM books.books_tb") 
        DBData = mycursor.fetchall() 
        mycursor.close()
        return DBData
         
    DBData = GetBookLink()
    return render_template("index.html", ScrapedBookData = DBData)

我的 index.html 看起来像这样:

{% extends "base.html"%} {% block title %}Home{% endblock %}{% block content %}    
<h1>{{ScrapedBookData}}</h1>
{% endblock %}

但是我收到一个错误(底部的链接),作为一个新手,我不明白如何解决它。 我该如何解决这个问题并编写一些查询来显示我的数据库中的行?

[在此处输入图像描述][1] [1]:https://i.stack.imgur.com/lZTGQ.png

文档的第一页开始,您缺少将MySQL类实例化为mysql变量的过程。

from flask import Flask
from flask_mysqldb import MySQL

app = Flask(__name__)
mysql = MySQL(app)  # this is the instantiation


@app.route('/')
def users():
    cur = mysql.connection.cursor()
    cur.execute('''SELECT user, host FROM mysql.user''')
    rv = cur.fetchall()
    return str(rv)

if __name__ == '__main__':
    app.run(debug=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM