watgtail root[depth=0] 页面的思路是什么?

What is the idea of watgtail root[depth=0] page?

我需要了解 wagtail root[depth=0] 页面的概念。因为对我来说主页必须在根级别,但目前所有主页都在 depth=1 级别,为什么要有根级别页面,想法是什么。 我检查了文档等,但没有找到这个想法的明确信息。

另外为什么主页[depth=1] 与站点对象相关而不是 root[depth=0]?

主要是一个实现细节,让Wagtail的内部逻辑更简单。例如,Page 模型有 copymove 方法,它们将新的父页面作为参数。在根级别有一个固定的、不可编辑的页面意味着我们总是可以作为父节点传递一个有意义的值——如果根节点不存在,我们必须为 "move a page to a new parent" 实现单独的代码路径与 "move a page to the top level".

但是,根页面还有一个地方对站点管理员具有直接意义:可以为该页面分配权限(通过“设置”->“群组”区域)。由于权限向下传播到页面树,这意味着该权限将应用于所有站点的所有页面。例如,如果您想授予(非超级用户)组创建新主页的能力,您可以通过授予他们对根页面的 'add' 权限来实现。