首页 > 解决方案 > Python Flask 没有为 MySQL 请求返​​回有效响应

问题描述

我第一次使用 Python 和 Flask。我正在尝试为我的数据库创建一个简单的查询选择并显示数据。


from flask import Flask
from flaskext.mysql import MySQL

mysql = MySQL()
app = Flask(__name__)
app.config['MYSQL_DATABASE_USER'] = 'myuser'
app.config['MYSQL_DATABASE_PASSWORD'] = 'mypass'
app.config['MYSQL_DATABASE_DB'] = 'mydb'
app.config['MYSQL_DATABASE_HOST'] = 'my server'
mysql.init_app(app)

@app.route("/")
def hello():
    cursor = mysql.connect().cursor()
    cursor.execute("Select * From Users Where UserID = 215")
    data = cursor.fetchone()
    return data

if __name__ == "__main__":
    app.run()

它给了我错误:视图函数没有返回有效的响应元组。

谢谢

标签: pythonmysqlflask

解决方案


您可以将响应 jsonify:

from flask import Flask
import json
from flaskext.mysql import MySQL

mysql = MySQL()
app = Flask(__name__)
app.config['MYSQL_DATABASE_USER'] = 'myuser'
app.config['MYSQL_DATABASE_PASSWORD'] = 'mypass'
app.config['MYSQL_DATABASE_DB'] = 'mydb'
app.config['MYSQL_DATABASE_HOST'] = 'my server'
mysql.init_app(app)

@app.route("/")
def hello():
    cursor = mysql.connect().cursor()
    cursor.execute("Select * From Users Where UserID = 215")
    data = cursor.fetchone()
    return json.dumps(data)

if __name__ == "__main__":
    app.run()

推荐阅读