如何输出在jinja python模板中的逗号分隔列表?
如果我有一个users
列表["Sam", "Bob", "Joe"]
,我想做一些我可以在我的jinja模板文件输出:
{% for user in userlist %} <a href="/profile/{{ user }}/">{{ user }}</a> {% if !loop.last %} , {% endif %} {% endfor %}
我想要使输出模板成为:
Sam, Bob, Joe
我试着上面的代码来检查它是否在循环的最后一个迭代,如果不是,那么不要插入逗号,但它不起作用。 我该怎么做呢?
你想要你的检查是:
{% if not loop.last %} , {% endif %}
请注意,您还可以使用If Expression来缩短代码:
{{ "," if not loop.last }}
你也可以使用内build的“连接”filter( http://jinja.pocoo.org/docs/templates/#join像这样:;
{{ users|join(', ') }}
并使用来自http://jinja.pocoo.org/docs/dev/templates/#joiner的;joiner
{% set comma = joiner(",") %} {% for user in userlist %} {{ comma() }}<a href="/profile/{{ user }}/">{{ user }}</a> {% endfor %}
这是为了这个确切的目的。