gpt4 book ai didi

django - 在Wagtail(或Django)中获取指定类型的子页面

转载 作者:行者123 更新时间:2023-12-04 16:38:56 27 4
gpt4 key购买 nike

我有以下代码来获取当前页面的子页面:

{% for subpage in self.get_children %}
...
{% endfor %}

例如,它用于显示图像库(每个子页面都有一个图像)。

但是,当我只有一种类型的 child 时,这种方法很好用,但是,当我尝试添加另一个 child 页面(例如,显示推荐书)时,上面的代码不会筛选..so的代码,因此它显示了所有 child 。

我想知道是否还有另一种方法可以完成这项工作,或者我的方法是否错误(使用子页面)。

任何帮助,将不胜感激 :-)

最佳答案

在Python代码中而不是在模板中进行此类查询通常会更容易。 Wagtail页面对象提供了get_context方法,您可以在其中设置要传递到模板中的其他变量:

class GalleryIndexPage(Page):
# ... field definitions here ...

def get_context(self, request):
context = super(BlogIndexPage, self).get_context(request)
context['image_pages'] = self.get_children().type(ImagePage)
return context

在此代码中, type是Wagtail提供的用于过滤查询集的方法之一-有关完整列表,请参见 Page QuerySet reference

定义此方法后,您可以在模板中访问变量 image_pages:
{% for subpage in image_pages %}
...
{% endfor %}

关于django - 在Wagtail(或Django)中获取指定类型的子页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37334935/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com