Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个清单:
list = ['var','var','var']
在我的 Jinja 模板中,我想做:
{{'<br>'.join(list)}}
但<br>实际显示在页面上。有没有办法在不添加另一个的情况下做到这一点
<br>
{% for item in list %} {{item}} <br> {% endfor %}
如果列表中的每个元素都是安全的(即不包含标记,或者在插入结果之前应该转义的字符),那么您可以将其标记为:
{{'<br>'.join(list)|safe}}
可以肯定的是,如果您想以这种方式使用它,您应该在将每个项目提供list给模板引擎之前对其进行转义。否则,您的页面可能会受到HTML 注入/ XSS的攻击(尤其是如果您的列表包含用户提交的数据)。
list
更新:正如@Doobeh 所指出的,join过滤器接受一个自定义的安全分隔符,所以你可以使用它,并且内容list仍然会被转义:
join
{{ list|join('<br>'|safe) }}