我有一个清单:
list = ['var','var','var']
在我想要做的Jinja模板中:
{{'<br>'.join(list)}}
但<br>
实际显示在页面上。有没有办法在不添加其他
{% for item in list %}
{{item}}
<br>
{% endfor %}
答案 0 :(得分:6)
如果列表中的每个元素都是安全(即不包含标记,或者在插入结果之前应该转义的字符),那么您可以将其标记为:
{{'<br>'.join(list)|safe}}
可以肯定的是,如果你想以这种方式使用它,你应该先将list
上的每个项目转移到模板引擎上。否则,您的网页可能会受到HTML Injection / XSS攻击(特别是如果您的列表包含用户提交的数据)。
更新:正如@Doobeh所指出的,join
filter接受了自定义安全分隔符,因此您可以使用它,而list
的内容仍然是转义:
{{ list|join('<br>'|safe) }}