使用Jazzmin及admin_reorder实现Django Admin侧边栏模型分组求助
解决Jazzmin侧边栏模型分组不生效问题
针对你使用Jazzmin配合django-modeladmin-reorder==0.3.1和django-reorder-admin==0.3.1时,仪表盘分组生效但侧边栏分组不生效的问题,按以下步骤排查修复:
处理包冲突问题
你同时安装了两个功能重叠的admin排序分组包,逻辑冲突会导致侧边栏分组失效,先卸载其中一个:pip uninstall django-reorder-admin确保
INSTALLED_APPS中仅保留django_modeladmin_reorder。同步Jazzmin与admin-reorder的分组配置
Jazzmin的侧边栏渲染依赖自身配置,需和ADMIN_REORDER保持完全一致:- 在
settings.py中通过ADMIN_REORDER定义分组规则:ADMIN_REORDER = ( {"app": "auth", "label": "用户管理", "models": ("auth.User", "auth.Group")}, {"app": "your_app", "label": "业务分组1", "models": ("your_app.Model1", "your_app.Model2")}, # 按实际模型和分组需求添加 ) - 同步配置Jazzmin的侧边栏导航:
JAZZMIN_SETTINGS = { "show_sidebar": True, "navigation": [ {"name": "用户管理", "models": ["auth.User", "auth.Group"]}, {"name": "业务分组1", "models": ["your_app.Model1", "your_app.Model2"]}, # 与ADMIN_REORDER的分组一一对应 ], }
- 在
检查中间件顺序
确保django_modeladmin_reorder.middleware.ModelAdminReorder在MIDDLEWARE中的位置正确,建议放在认证中间件之后:MIDDLEWARE = [ # 其他中间件... "django.contrib.auth.middleware.AuthenticationMiddleware", "django_modeladmin_reorder.middleware.ModelAdminReorder", # 其他中间件... ]清除缓存并重启服务
- 用快捷键
Ctrl+Shift+R强制刷新浏览器,清除本地缓存 - 重启Django开发服务器
- 若启用了Django缓存,执行缓存清理:
python manage.py clearcache
- 用快捷键
验证模型注册正确性
确保目标模型已正确注册到admin,且未在自定义Admin类中覆盖分组逻辑,例如admin.py中:from django.contrib import admin from your_app.models import Model1, Model2 admin.site.register(Model1) admin.site.register(Model2)
内容的提问来源于stack exchange,提问作者Lenate John
相关产品推荐
相关产品推荐

