这有什么区别:
{%block body %}
然后
{%block body -%}
只需在文档中阅读有关它的内容,不确定这是否也适用于{% 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>
请注意第二个示例中“值”和结束符之间的空格。因此,减号-
会在变量之前、之后或两侧擦除/修剪空格。