我一直在尝试这样做:
{% set error_message = '<span class="help-inline">' + field.errors[0]|e + '</span>' %}
{# ... code ... #}
{{ error_message|safe }}
尝试在html中获取此输出:
<span class="help-inline">Some message</span>'
然而,html被转义,我将以上打印出来作为字符串。
所以问题是如何在Jinja2中将连接字符串标记为safe
?
当前输出(萤火虫):
预期产出:
更新:试过这个但是没有用:
{% autoescape false %}
{{ error_message|safe }}
{# also tried without safe #}
{% endautoescape %}
答案 0 :(得分:1)
将串联的每个部分字符串标记为safe
但是会提供所需的输出:
{% set error_message = '<span class="help-inline">'|safe + field.errors[0]|e + '</span>'|safe %}
或略好一点:
{% set error_message = ('<span class="help-inline">' ~ field.errors[0]|e ~ '</span>')|safe %}
(合并safe
过滤整个字符串与~
连接。+
不起作用)