首页 > 解决方案 > watgtail root[depth=0] 页面的概念是什么?

问题描述

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

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

标签: wagtail

解决方案


这主要是一个实现细节,使 Wagtail 的内部逻辑更简单。例如,Page模型有copymove方法,它们以新的父页面为参数。在根级别有一个固定的、不可编辑的页面意味着我们总是可以将一个有意义的值作为父节点传递——如果根节点不存在,我们必须实现单独的代码路径以“将页面移动到新父”与“将页面移动到顶层”。

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


推荐阅读