python - flask Python中的for循环

标签 python flask

我在 Flask 框架中有这个简单的 for 循环

@app.route('/kde')
def fetch_erga():
    cur = mysql.connection.cursor()
    cur.execute("SELECT ergo FROM erga")
    rv = list(cur.fetchall())
    for row in rv:
        stock = str(row[0]['ergo'])
        tsapr += [(stock)]
    return '<h2>' + tsapr + '</h2>'

这会导致 jinja 崩溃并在浏览器中产生以下错误: 按键错误:0

是关键评估错误还是缺乏关键评估,或者只是循环不良? 任何帮助将不胜感激

编辑: 运行时:

@app.route('/kdef')
def fetch_ergas():
    cur = mysql.connection.cursor()
    cur.execute("SELECT ergo FROM erga")
    rv = list(cur.fetchall())
    return '<h2>' + str(rv) + '</h2>'

我在浏览器中得到以下结果

[{'ergo': u'52018'}, {'ergo': u'52019'}, {'ergo': u'63096700'}, {'ergo': u'68003400'}, {'ergo': u'68003501'}, {'ergo': u'69003501'}]

我的意思是它不是一个空光标

最佳答案

KeyError 通常与字典中缺少的键相关。如果是我,我会开始调查 str(row[0]['ergo']) 。是否可能是 rv 中的行对象之一没有'ergo'关键?

也许如果cur.execute("SELECT ergo FROM erga")返回一个空查询集?

编辑:

每个 rowrvdict输入 object 并且您正在引用 row[0]但没有0关键,更改stock = str(row[0]['ergo'])成为stock = str(row['ergo'])它应该可以工作

关于python - flask Python中的for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53225690/

相关文章:

python - 音频数据字符串格式为numpy数组

python - 获取 pandas 中聚合的聚合

python - 返回列表的不同数据

python - Angular 路由器不使用 ng build 与 Flask 服务器交互

python - Flask uWSGI - 导入错误 : No module named request

python - 如何从带有子元组的元组创建列表?

python - VSCode 调试器自动附加到子进程

python - Flask reSTLess 无法构造查询

python - 从大型 unicode 文本文件中删除符号

json - 使用postgresql从Flask-SQLAlchemy中的JSON字段查询值