在wagtail ModelAdminGroup中添加菜单项



我想在ModelAdminGroup中添加非ModelAdmin项,例如MenuItem,如下所示:

MenuItem('A title', '/some_url/', icon_name='doc-full-inverse', order=1)

但是我在Wagtail文档和stackoverflow中都找不到任何提示。

我的ModelAdminGroup看起来像这样

class MyModelAdminGroup(ModelAdminGroup):
menu_label = "Some stuff"
menu_icon = "fa-suitcase"
menu_order = 1
items = (Model1Admin, Model2Admin)

我试着这样做:

class MyModelAdminGroup(ModelAdminGroup):
menu_label = "Some stuff"
menu_icon = "fa-suitcase"
menu_order = 1
items = (Model1Admin, Model2Admin, MenuItem('A title', '/some_url/', icon_name='doc-full-inverse', order=1))

和其他一些愚蠢的东西

但所有我尝试崩溃…

我终于找到了一个简单的解决办法。我只是把它写在下面,以防它能帮助社区的其他人

我最终得到了一个简单的解决方案:只是扩展我的自定义ModelAdminGroup类并编写一个特定的get_submenu_items方法:

class MyModelAdminGroup(ModelAdminGroup):
menu_label = "Some stuff"
menu_icon = "fa-suitcase"
menu_order = 1
items = (Model1Admin, Model2Admin)
def get_submenu_items(self):
menu_items = super().get_submenu_items()
menu_items.append(MenuItem('A title', '/some_url/', icon_name='doc-full-inverse', order=1))
return menu_items

相关内容

  • 没有找到相关文章

最新更新