行语句

如果应用启用了行语句,就可以把一个行标记为一个语句。例如如果行语句前缀配置为# ,下面的两个例子是等价的:

  1. <ul>
  2. # for item in seq
  3. <li>{{ item }}</li>
  4. # endfor
  5. </ul>
  6. <ul>
  7. {% for item in seq %}
  8. <li>{{ item }}</li>
  9. {% endfor %}
  10. </ul>

行语句前缀可以出现在一行的任意位置,只要它前面没有文本。为了语句有更好的可读性,在块的开始(比如 forifelif 等等)以冒号结尾:

# for item in seq:
    ...
# endfor

提示

若有未闭合的圆括号、花括号或方括号,行语句可以跨越多行:

<ul>
# for href, caption in [('index.html', 'Index'),
                        ('about.html', 'About')]:
    <li><a href="{{ href }}">{{ caption }}</a></li>
# endfor
</ul>

从 Jinja 2.2 开始,行注释也可以使用了。例如如果配置 ## 为行注释前缀,行中所有 ## 之后的内容(不包括换行符)会被忽略:

# for item in seq:
    <li>{{ item }}</li>     ## this comment is ignored
# endfor