2013-02-26 95 views
2

我有一个列表:瓶神社模板“<br>”。加入

list = ['var','var','var'] 

在我的神社模板我想做的事:

{{'<br>'.join(list)}} 

<br>实际显示在页面上。有没有办法做到这一点无需添加其他

{% for item in list %} 
{{item}} 
<br> 
{% endfor %} 

回答

4

如果列表中的每一个元素是安全(即不包含标记,或应该被插入在结果之前被转义字符),那么你就可以标记为这样:

{{'<br>'.join(list)|safe}} 

可以肯定,你应该list逃脱每个项目将其送入模板引擎之前,如果你想用这种方式。否则,您的页面可能会变得容易受到HTML Injection/XSS(特别是如果您的列表包含用户提交的数据)。

更新:由@Doobeh指出的那样,join filter接受定制的安全分离器,这样你就可以使用,而是和的list内容仍然会被转义:

{{ list|join('<br>'|safe) }} 
+2

'{{名单|加入('
'|安全)}}'似乎更Jinjery,你不必关心列表的内容。 – Doobeh 2013-02-26 21:07:32