如何输出在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 %} 

这是为了这个确切的目的。