Dajngo-Xadmin 修改菜单摆放排序
程序员文章站
2022-03-28 19:01:34
问题: Xadmin 默认是读取了所有被注册到 xadmin 的模型生成对应的菜单!这个是没问题的 ,但是xadmin又对菜单做了 "通过菜单名称" 排序.英文状态下我们的排列至少是 a-z排列的,但是一到中文就乱了,完全不符合我们的要求. 解决办法: 要到达按照我们 在 django 的 sett ......
问题:
Xadmin 默认是读取了所有被注册到 xadmin 的模型生成对应的菜单!这个是没问题的 ,但是xadmin又对菜单做了 "通过菜单名称" 排序.英文状态下我们的排列至少是 a-z排列的,但是一到中文就乱了,完全不符合我们的要求.
解决办法:
要到达按照我们 在 django 的 settings.py 中 INSTALLED_APPS 中注册的顺序排列只需要在 Xadmin源码 (xadmin\view\base.py) 中找到 def get_nav_men 方法 中的 " nav_menu.sort(key=lambda x: x['title']) " 将其注释就可以啦~
扩展:
那么,如果我们需要将某一个自定义菜单加入到 已存在的某一个已存在的 菜单中成为其菜单,怎么做呢 ?
方法:
还是在刚刚的 get_nav_men 方法中找到 nav_menu = list(nav_menu.values()), 这里的 nav_menu 就是我们最终要加入到系统菜单中的数据 ,我们在下面进行对 nav_menu 数据自定义修改
例如,我要在 默认的 '管理' 菜单下 加一个 '轮播图管理' 的子项: