Flask Jinja模板'<br/>'.join

时间:2013-02-26 19:30:19

标签: python flask jinja2

我有一个清单:

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

在我想要做的Jinja模板中:

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

<br>实际显示在页面上。有没有办法在不添加其他

的情况下执行此操作
{% for item in list %}
{{item}}
<br>
{% endfor %}

1 个答案:

答案 0 :(得分:6)

如果列表中的每个元素都是安全(即不包含标记,或者在插入结果之前应该转义的字符),那么您可以将其标记为:

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

可以肯定的是,如果你想以这种方式使用它,你应该先将list上的每个项目转移到模板引擎上。否则,您的网页可能会受到HTML Injection / XSS攻击(特别是如果您的列表包含用户提交的数据)。

更新:正如@Doobeh所指出的,join filter接受了自定义安全分隔符,因此您可以使用它,而list的内容仍然是转义:

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