You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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保持完全一致:

    1. 在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")},
          # 按实际模型和分组需求添加
      )
      
    2. 同步配置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",
        # 其他中间件...
    ]
    
  • 清除缓存并重启服务

    1. 用快捷键Ctrl+Shift+R强制刷新浏览器,清除本地缓存
    2. 重启Django开发服务器
    3. 若启用了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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 22:52:54