我正在使用 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
uj5u.com熱心網友回復:
從檔案的第一頁開始,您缺少將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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/491908.html
