Flask - 从字典中打印值

时间:2014-01-23 01:12:18

标签: python database list dictionary flask

查看:

cur = g.db.execute('SELECT * FROM users WHERE username = "Bozo1"')
printme = [dict(id=row[0], username=row[1], password=row[2]) for row in cur.fetchall()]

模板:

{% print(printme) %}

打印:

[{'id': 1, 'username': 'Bozo1', 'password': 'abc123'}]

通常在Python中,我会打印(printme [“id”]),它会输出1.但在Flask中,这种方法对我不起作用。

1 个答案:

答案 0 :(得分:2)

  

通常在Python中,我只会输出print(printme [“id”]),输出为1.

不,你得到的是TypeError: list indices must be integers, not str,因为printmelist dicts,而不是dict本身。假设您要打印出所有返回的结果,则需要循环printme

{% for result in printme() %}
    {{ result['id'] }}
{% endfor %}

如果您只想打印第一张,可以这样做:

{{ printme[0]['id'] }}

但是,仅取一个结果会更有意义。