从列表中生成随机ID - jinja

时间:2015-04-06 13:38:12

标签: python random jinja2

我正在尝试从联系人列表(在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中进行翻译的。

任何帮助表示感谢!

1 个答案:

答案 0 :(得分:7)

random中有一个jinja2过滤器。

  

<强>随机(SEQ)

     

从序列中返回一个随机项目。

像这样使用:

{% set selected_contact = contact_dbs|random %}

注意:我认为contact_dbsiterable