我试图从联系人列表(在
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(seq)
Return a random item from the sequence.
像这样使用它:
{% set selected_contact = contact_dbs|random %}
注意:我假设contact_dbs是可迭代的.