我有以下代码来获取当前的子页面:
{% for subpage in self.get_children %}
...
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
例如,这用于显示图像库(每个子页面都有图像).
但是,当我只有一种类型的子项时,这种方法很好,但是,当我尝试添加另一个子页面(例如显示推荐)时,上面的代码不会过滤子类型.所以它显示所有子项.
我想知道是否有其他方法可以使这项工作或我的方法是错误的(使用子页面).
任何帮助,将不胜感激 :-)
gas*_*man 12
在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
Run Code Online (Sandbox Code Playgroud)
在此代码中,type是Wagtail为筛选查询集提供的方法之一 - 请参阅页面QuerySet引用以获取完整列表.
定义此方法后,您可以访问image_pages模板中的变量:
{% for subpage in image_pages %}
...
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3660 次 |
| 最近记录: |