从列表中生成随机 ID - jinja
Generating random ID from list - jinja
我正在尝试从联系人列表(在 Python 中,使用 jinja2)生成一个随机 ID 以显示在 HTML 模板中。
所以我有一个联系人列表,目前我通过遍历联系人列表将所有联系人显示在 HTML 模板的几个单元格中:
# for contact_db in contact_dbs
<tr>
<td>{{contact_db.key.id()}}</td>
<td>{{contact_db.name}}</td>
<td>{{contact_db.phone}}</td>
<td>{{contact_db.email}}</td>
</tr>
# endfor
呈现以上内容的视图是:
def contact_list():
contact_dbs, contact_cursor = model.Contact.get_dbs(
user_key=auth.current_user_key(),
)
return flask.render_template(
'contact_list.html',
html_class='contact-list',
title='Contacts',
contact_dbs=contact_dbs,
next_url=util.generate_next_url(contact_cursor),
)
相反,我想显示一个按 ID 随机选择的联系人,并且它应该在用户每次刷新页面时显示另一个联系人及其所有信息(我不处理两次显示相同的联系人现在顺便提一下)。
我知道可以在 python 文件中使用 random 来处理随机选择,但不确定它在模板中如何转换为 jinja。
感谢任何帮助!
jinja2
中有一个 random
过滤器。
random(seq)
Return a random item from the sequence.
这样使用:
{% set selected_contact = contact_dbs|random %}
注意:我假设 contact_dbs
是 iterable
。
我正在尝试从联系人列表(在 Python 中,使用 jinja2)生成一个随机 ID 以显示在 HTML 模板中。
所以我有一个联系人列表,目前我通过遍历联系人列表将所有联系人显示在 HTML 模板的几个单元格中:
# for contact_db in contact_dbs
<tr>
<td>{{contact_db.key.id()}}</td>
<td>{{contact_db.name}}</td>
<td>{{contact_db.phone}}</td>
<td>{{contact_db.email}}</td>
</tr>
# endfor
呈现以上内容的视图是:
def contact_list():
contact_dbs, contact_cursor = model.Contact.get_dbs(
user_key=auth.current_user_key(),
)
return flask.render_template(
'contact_list.html',
html_class='contact-list',
title='Contacts',
contact_dbs=contact_dbs,
next_url=util.generate_next_url(contact_cursor),
)
相反,我想显示一个按 ID 随机选择的联系人,并且它应该在用户每次刷新页面时显示另一个联系人及其所有信息(我不处理两次显示相同的联系人现在顺便提一下)。
我知道可以在 python 文件中使用 random 来处理随机选择,但不确定它在模板中如何转换为 jinja。
感谢任何帮助!
jinja2
中有一个 random
过滤器。
random(seq)
Return a random item from the sequence.
这样使用:
{% set selected_contact = contact_dbs|random %}
注意:我假设 contact_dbs
是 iterable
。