我曾尝试为此搜索官方文档和相关留言板,但是我找不到任何相关内容。
我网站中的一些页面模板只能使用一次 - 例如主页。
Wagtail 有没有办法在创建新页面时隐藏或禁止用户选择该模板/页面模型?
您可以通过编辑来限制可以创建页面类型的位置YourPageModel.parent_page_types
,请参阅http://docs.wagtail.io/en/v1.10.1/reference/pages/model_reference.html#wagtail.wagtailcore.models.Page。 parent_page_types。类似地,有一个subpage_types
设置,因此例如您可以强制它NewsIndexPage
只能作为 的直接子项创建HomePage
,并且只能包含NewsItemPage
实例。将此与用户权限相结合应该足以用于树中足够高的位置的主页或页面类型。
如果您绝对必须强制仅存在某种页面类型中的一种,则可以覆盖 classmethod clean_parent_page_models
,[]
如果此类的实例已经存在,则返回。然而,这种方法是一种黑客行为,可能会被 Wagtail 的未来版本破坏。
2021 年 1 月更新:
上面的 hack 并没有完全被破坏,但它肯定不是理想的,并且自 2.4 版 Wagtail 具有max_count
Page 属性(和max_count_per_parent
2.5)。
文档:https : //docs.wagtail.io/en/stable/reference/pages/model_reference.html#wagtail.core.models.Page.max_count
@JaredOzzy 的回答是正确的,并且有关于这些方法的更多详细信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句