查看:
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中,这种方法对我不起作用。
答案 0 :(得分:2)
通常在Python中,我只会输出print(printme [“id”]),输出为1.
不,你得到的是TypeError: list indices must be integers, not str
,因为printme
是list
dicts
,而不是dict
本身。假设您要打印出所有返回的结果,则需要循环printme
:
{% for result in printme() %}
{{ result['id'] }}
{% endfor %}
如果您只想打印第一张,可以这样做:
{{ printme[0]['id'] }}
但是,仅取一个结果会更有意义。