33

这有什么区别:

{%block body %}

然后

{%block body -%}
4

1 回答 1

48

只需在文档中阅读有关它的内容,不确定这是否也适用于{% block ... %}标签。 树枝空白控制

{% set value = 'no spaces' %}
    {#- No leading/trailing whitespace -#}
    {%- if true -%}
        {{- value -}}
    {%- endif -%}
{# output 'no spaces' #}

还给出了另一个示例,它修剪变量前面的空白,但最后不这样做 - 所以效果只在一侧。

{% set value = 'no spaces' %}
    <li>    {{- value }}    </li>
{# outputs '<li>no spaces    </li>' #}

上面的示例显示了默认的空白控制修饰符,以及如何使用它来删除标签周围的空白。修剪空间将消耗标签那一侧的所有空白。可以在标签的一侧使用空格修剪

所以我认为你给定的例子的不同之处在于,在第一个块body中,块开始后会有一个空格。在您的第二个示例body -中,块开始后没有。只需阅读文档条目即可了解它是如何工作的。

编辑

一个简单的例子来演示文档中的示例:

{% set value = 'NO space in source code after/before "value"' %}
<li>    {{- value -}}    </li>
...

HTML 标记中 Firebug 的输出: 值后没有空格

而这

{% set value = 'space in source code after "value"' %}
<li>    {{- value }}    </li>
...

输出:

之间的空格

</li>请注意第二个示例中“值”和结束符之间的空格。因此,减号-会在变量之前、之后或两侧擦除/修剪空格。

于 2013-05-19T14:05:43.660 回答