pystache {{。}}的文档在哪里? (点/句点/隐式运算符标记)

时间:2014-12-03 17:58:39

标签: python mustache pystache

我正在查看一些包含此错误的pystache模板代码:

{{#image_size}}width="{{.}}"{{/image_size}}

看起来{{.}}image_size的值取代。 pystache / mustache文档在哪里解释了这一点?我浏览了一下文档,但我发现的唯一一个是{{.}}的pystache示例,但没有解释:

>>> parsed = pystache.parse(u"Hey {{#who}}{{.}}!{{/who}}")

pystache repository and documentation
mustache documentation

1 个答案:

答案 0 :(得分:1)

这是“隐式迭代器”标签。它不在Mustache手册页中,因为它是规范的后续添加。对它的最佳描述可能是in the Mustache.php documentation

  

Mustache提供了一个“隐式迭代器”来访问当前范围。它看起来像这样:{{。 }}

     

在section上下文中,隐式迭代器引用当前循环值:

......但即使这样也不完美:)

基本上,{{ . }}总是指当前范围。大多数情况下,这意味着您正在迭代的列表中的当前元素(例如,使用字符串数组)。但是,在您的示例中,{{ image_size }}不是列表,因此{{ . }}只是引用该值。

将Mustache部分标记视为始终表示循环,并将其呈现为零,一次或多次,这取决于您的值是什么,一件事还是很多事情,这可能会有所帮助。从这个意义上讲,“当前循环元素”只是一个值,当你的section标签是真实但不是列表的时候。