构建 Wagtail 管理菜单:如何 get/set 菜单项名称?
Constructing Wagtail admin menu: How to get/set menu items name?
我正在尝试通过钩子自定义 Wagtail 中管理菜单的呈现,如所述 here:
from wagtail.core import hooks
@hooks.register('construct_main_menu')
def hide_explorer_menu_item_from_frank(request, menu_items):
if request.user.username == 'frank':
menu_items[:] = [item for item in menu_items if item.name != 'explorer']
但我无法弄清楚,如何 get/set 我的模型(或任何地方)中 menu_items
对象的 name
属性。我现在的 hacky 解决方案是使用索引:
menu_items[:] = list(menu_items[i] for i in [0, 6, 7, 8, 9, 10])
但这并不理想。有人吗?
As documented under the register_admin_menu_item
hook,可以在创建MenuItem
对象时传递一个name
关键字参数:
MenuItem('Videos', reverse('videos'), name='videos')
如果您不传递名称,系统会根据标签自动创建一个名称。
要打印出现有菜单项的名称:
print([item.name for item in menu_items])
我正在尝试通过钩子自定义 Wagtail 中管理菜单的呈现,如所述 here:
from wagtail.core import hooks
@hooks.register('construct_main_menu')
def hide_explorer_menu_item_from_frank(request, menu_items):
if request.user.username == 'frank':
menu_items[:] = [item for item in menu_items if item.name != 'explorer']
但我无法弄清楚,如何 get/set 我的模型(或任何地方)中 menu_items
对象的 name
属性。我现在的 hacky 解决方案是使用索引:
menu_items[:] = list(menu_items[i] for i in [0, 6, 7, 8, 9, 10])
但这并不理想。有人吗?
As documented under the register_admin_menu_item
hook,可以在创建MenuItem
对象时传递一个name
关键字参数:
MenuItem('Videos', reverse('videos'), name='videos')
如果您不传递名称,系统会根据标签自动创建一个名称。
要打印出现有菜单项的名称:
print([item.name for item in menu_items])