如何在jinja2中从变量内部打印空格

时间:2017-08-25 22:58:31

标签: python flask jinja2

我正在尝试在jinja2中打印存储在变量中的可变数量的空格,但是jinja正在逃避变量的内容。因此,当我在变量中存储& nbsp时,它会扩展到& nbsp,从而在页面上打印字符而不是空格。

这是我的代码:

{% macro show_message(parent_id,count) %}
    {% set clist = get_message(post.id,parent_id) %}
    {% set countr = count + 1 %}
    {% set prefix = '-'*countr %}
    {% set prefix2 = "&nbsp"*countr %}
    {% if clist is defined %}
        {% for c in clist %}
            {{ prefix2 }} Author: {{ get_author(c.user_id) }} <br/>
            {{ prefix }}
            {{ c.message }}
            <br/><br/>
            {{ show_message(c.id,countr) }}
        {% endfor %}
    {% endif %}
{% endmacro %}

有没有人知道如何使这项工作?

谢谢:)

2 个答案:

答案 0 :(得分:2)

使用|safe filter将其标记为安全,以防止自动转义:

{{ prefix2|safe }}

您还需要在每个实体的末尾包含分号:

{% set prefix2 = "&nbsp;"*countr %}
                       ^

答案 1 :(得分:1)

我尝试了

的Blender方法
{{ "&nbsp;"|safe*10 }}

它将生成10个空格