我试图将整数映射到字符串字典的索引。
但是,没有替代发生。
如果我硬编码(例如um[2]
),则替换是正确的。
什么是正确的完成方式?
数据库架构:
CREATE TABLE users (id integer primary key autoincrement, user text not null, um tinyint not null);
发电机:
users = [dict(id=row[0], name=row[1], um=row[2]) for row in cur.fetchall()]
um = ["Limited", "Lessimited", "EvenLessLimited", "SuperUser"];
return render_template('show_users.html', users=users, um=um)
模板:
{% for user in users %}
{% set m = user.um|int %}
<tr><td class="id">{{ user.id }}</td><td> {{ um[m] }}</td></tr>
{% endfor %}
答案 0 :(得分:0)
您需要user["um"]
,而不是user.um
。
实际上,您应该想要user.um
,但为此您可以使用&#39; namedtuple`:
from collections import namedtuple
User = namedtuple('User', 'rowid name um')
users = [User(*row) for row incur.fetchall()]
um = ["Limited", "Lessimited", "EvenLessLimited", "SuperUser"];
return render_template('show_users.html', users=users, um=um)
**模板*:
{% for user in users %}
<tr>
<td class="id">
{{ user.rowid }}</td><td> {{ um[user.um] }}
</td>
</tr>
{% endfor %}