g-如何从设置菜单中删除子菜单项

时间:2019-06-04 22:22:16

标签: python django wagtail

Wagtail默认情况下包括一个“设置”菜单项,以及一些默认设置项,例如“站点”和“重定向”。

我知道您可以使用register_setting装饰器注册新设置,并且可以使用各种挂钩自定义顶级菜单项,但不能自定义子菜单项。如何删除(或隐藏显示)默认设置项目?

2 个答案:

答案 0 :(得分:2)

创建一个Wa组(“设置”菜单下的“组”)。为组分配对象权限时,请确保未选择“站点设置”。然后,将您不希望看到“网站设置”菜单的用户分配给该组,该菜单将不会显示给他们。

答案 1 :(得分:1)

website中的解决方案已在此处进行了说明 如果我们要从设置菜单项中删除用户

from wagtail.core import hooks

@hooks.register('construct_settings_menu')
def hide_user_menu_item(request, menu_items):
    menu_items[:] = [item for item in menu_items if item.name != 'user']

对于主菜单,如果我们要从主菜单项中删除图像

from wagtail.core import hooks

@hooks.register('construct_main_menu')
def hide_images_menu_item(request, menu_items):
    menu_items[:] = [item for item in menu_items if item.name != 'images']