1

我有以下非常简单的语句来渲染 wagtail 中的块。

{% for block in blocks %}
    {% include_block block %}
{% endfor %}

for 循环像模板标签 include_block 一样工作和迭代块。然而,变量 'block' 在 include_block 执行的模板中是不可访问的。

{% set background_image = block.background_image.image %}

在 include_block 调用的模板中调用的上述语句会引发以下错误。

'block' is undefined

这并没有真正的意义,因为 Wagtail 的 include_block 的文档指出变量被传递到被调用的模板中。

http://docs.wagtail.io/en/v1.9/advanced_topics/jinja2.html#include-block

为了显式传入变量,我有以下语句,但它仍然不起作用,

 {% include_block block with context %}
4

1 回答 1

3

确实令人惊讶的是block没有被传递并可能构成一个错误(编辑:有关该问题的进一步讨论,请参见下面的评论)

话虽如此,在块模板中,块值可作为变量访问value(参见StreamField 模板渲染部分的第 6 段)。

于 2017-09-12T22:02:58.183 回答