gpt4 book ai didi

python - 在 Python Flask 中显示数据库结果 : ValueError: dictionary update sequence element #0 has length 6; 2 is required

转载 作者:行者123 更新时间:2023-11-28 20:20:38 24 4
gpt4 key购买 nike

如何使用 python flask 在 CocoaRestClient 中显示我的数据库查询结果?

代码如下:

import json
import sys
import datetime
import MySQLdb as mdb
from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/home')
def hello_world():
return "Welcome to Omnimoda."

@app.route('/items/list')
def get_items():
#Change accordingly:
#Connection Details:
hostname = "localhost"
username = "un"
password = "pw"
database = "db"
q_list_one = "SELECT * FROM item_info"
con = mdb.connect(hostname, username, password, database)
cur = con.cursor()
json_return = {}
try:
cur.execute(q_list_one)
r_list_one = cur.fetchall()
except Error as error:
print(error)
finally:
cur.close()
con.close()

return jsonify(r_list_one)

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

我从 here 得到了 jsonify 位,但我得到的只是一个 ValueError: dictionary update sequence element #0 has length 6;需要 2 (full error traceback here)

没有 jsonify,我得到一个 TypeError: 'tuple' object is not callable

这是数据库的样子:

还有什么我可以尝试的吗?谢谢。

enter image description here

最佳答案

您使用的 jsonify 有误。您需要将它与关键字参数一起使用,就像您引用的链接的答案中一样:

return jsonify(data=r_list_one)

官方文档给出了一个例子:

return jsonify(username=g.user.username,
email=g.user.email,
id=g.user.id)

以上代码将产生如下响应:

{
"username": "admin",
"email": "admin@localhost",
"id": 42
}

由此可见,在使用jsonify时,关键字是必须的。

关于python - 在 Python Flask 中显示数据库结果 : ValueError: dictionary update sequence element #0 has length 6; 2 is required,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30614046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com