我有一个名为
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对象? 或者,什么可以更好地解决我的问题?
我发现在wagtail文档的这一部分它说我们可以这样做:
{% include_block page.body with page=page %}
在页面模板内。就像 django include 标签一样。
这解决了我的问题,但我不确定这是否是最好的方法。