这个" - "在jinja2模板引擎中有什么作用?

Gab*_*lis 20 python django google-app-engine templates jinja2

我正在学习jinja2,因为Google App Engine推荐它.

我在维基百科上找到了这个例子:http://en.wikipedia.org/wiki/Jinja_%28template_engine%29

  {%- for item in item_list %}
    {{ item }}{% if not loop.last %},{% endif %}
  {%- endfor %}
Run Code Online (Sandbox Code Playgroud)

"{% - for"中的" - "是什么?

另外,我在哪里可以找到jinja2示例(使用Google App Engine更好)?

非常感谢!

hyp*_*lug 24

它会抑制额外的垂直间距,通常在您不希望循环的元素之间存在过多间距时使用.

如果在块的开头或结尾添加减号( - )(例如for标记),注释或变量表达式可以删除该块之后或之前的空格

请参阅:http://jinja.pocoo.org/docs/templates/#whitespace-control


the*_*Man 7

正如您所暗示的,Google App Engine 和 Django 使用 Jinja。Jinja 使用破折号删除或添加块内的空格。
{%-本身意味着当前行在当前行和上一行之间不应有空行
-%}本身意味着当前行上方应有一个空行
{%-,并且-%}意味着当前行应与上一行齐平

在您的示例中,循环有破折号for。这将不会在项目之间留下任何空间。如果您没有这个破折号,它将在每个项目之间留下一个空格。

您可以在这里进行实验: http:
//jinja.quantprogramming.com

其他链接:
文档
信用