Django Wagtail Jinja2 include_block 标签不传递变量

标签 django wagtail wagtail-streamfield

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

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

for 循环与模板标记 include_block 一样工作并迭代 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 %}

最佳答案

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

也就是说,在 block 模板中, block 值可以作为变量 value 进行访问(请参阅 StreamField template rendering 部分的第 6 段)。

关于Django Wagtail Jinja2 include_block 标签不传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46185814/

相关文章:

python - 使用 Django 模型中的 URLField 链接到外部站点

python - virtualenv 不使用自己的包

python - 使用 Django Rest Framework 和 ViewSets 更新模型

django - 如何从 Wagtail 页面的 QuerySets 中识别私有(private)页面和公共(public)页面?

wagtail - 使用 Wagtail RichText streamfield 创建子列表

wagtail - 有没有办法将自定义唯一标识符添加到鹡鸰 block

django - 检测用户是否没有遵循 django 中应用程序的正确流程

django - 如何将值过滤器与我的 Django 模型上某个外键字段的查询集结合起来

python - 使用 Heroku 部署时如何解决 "' django_content_type' does not exit” 错误?

python - 在 StreamField 中显示时,如何在模型中渲染页面属性?