Django Wagtail Jinja2 include_block标记不传递变量

时间:2017-09-12 21:47:11

标签: django wagtail wagtail-streamfield

我有以下非常简单的陈述,以令人震惊的方式呈现块。

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

for循环工作并迭代块,模板标记include_block也是如此。但是,在include_block执行的模板中无法访问变量'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 %}

1 个答案:

答案 0 :(得分:2)

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

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