Django w getting页面获得儿童级别

问题描述:

我有一个页面结构为'home_page > blog_index page > blog_page'。而博客页面可以有子页面。现在我正在尝试创建一个博客归档菜单。假设我有一个名为'1'的博客页面,它有孩子'a','b','c'。 和博客页面名为'2',它有孩子'a','b','c'。Django w getting页面获得儿童级别

当我们环路BlogPages我们有八页为'1', 'a', 'b', 'c', '2', 'a', 'b', 'c'.

有,我们让孩子们与特定水平的任何机会呢?例如,如果我只想'1'和'2',我该怎么办?

谢谢

如果你知道你想要的页面树中的页面的绝对深度,你可以写类似:BlogPage.objects.filter(depth=4)。这里depth = 1是根级;深度= 2将是在根级创建的网站主页;深度= 3将是博客索引页面,深度= 4将是博客索引的直接子节点的博客页面。

这种方法可能不是很健壮 - 如果您重新组织您的网站以便博客索引处于不同的级别,它将会中断 - 因此,最好说“获取所有的直接子项的BlogPages BlogIndexPage“来代替。你可以这样做:

blog_index_page = BlogIndexPage.objects.first() 
blog_pages = BlogPage.objects.child_of(blog_index_page)