在 Wagtail 中,如何从 StructBlock 模板内部访问 Page 对象?

问题描述 投票:0回答:1

我有一个名为

Event
的页面 对于这次活动我想要一个节目。 程序由通过 ParentalKey 链接到页面的 ProgramEntry 对象组成。 我希望这个程序显示在 html 中,但它应该在流字段中,以便编辑者可以将其放置在页面中的任何位置。 为此,我想渲染我的自定义 ProgramEntryBlock,如下所示:

class ProgramEntryBlock(blocks.StructBlock):
    class Meta:
        label = _("Program entry")
        template = "blocks/program-entry-block.html"

在我的模板中

blocks/program-entry-block.html
我想要这样的东西:

{% if page.program_entries.exists %}
    (...)

    {% for entry in page.program_entries.all %}
        (...)
    {% endfor %}
{% endif %}

如何在该模板中传递Page对象? 或者,什么可以更好地解决我的问题?

django wagtail wagtail-streamfield
1个回答
0
投票

我发现在wagtail文档的这一部分它说我们可以这样做:

{% include_block page.body with page=page %}

在页面模板内。就像 django include 标签一样。

这解决了我的问题,但我不确定这是否是最好的方法。

© www.soinside.com 2019 - 2024. All rights reserved.