django-xadmin使用之更改菜单url
环境:xadmin-for-python3 python3.5.2 django1.9.12
1. 在模块的adminx.py文件中增加以下代码:
class AdminSettings(object): site_title = 'XXX Data Center' site_footer = 'XXX Inc.' # menu_style = 'accordion' # 菜单设置 def get_site_menu(self): return ( {'title': 'WISH', 'perm': self.get_model_perm(WishProduct, 'view'), 'menus': ( {'title': 'Wish商品', 'icon': '', 'perm': self.get_model_perm(WishProduct, 'view'), 'url': self.get_model_url(WishProduct, 'changelist')+'?_p_platform_create_time__gte=2017-01-01 00:00:01&o=-sales_7days'}, )}, ) xadmin.site.register(xadmin.views.CommAdminView, AdminSettings)
2. 注意如果你的模块有一个model要定义菜单的url,则所有的model都定义一下,避免出现重复菜单,如果url和框架不一致,要在modeladmin中hidden_menu = True,避免还是会出现两个相同菜单,这样做主要为了少改动框架。
xadmin.site.register(xadmin.views.CommAdminView, AdminSettings)只能出现一次,可以放到一个全局的adminx.py中定义,否则会报已注册的异常。