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

如何在现有Django Admin中显示用户权限选项

恢复Django Admin用户权限选项的排查步骤
  • 检查自定义UserAdmin类的继承与配置
    如果你的accounts应用自定义了UserAdmin,必须确保继承自django.contrib.auth.admin.UserAdmin,且未破坏权限相关的字段配置:

    • 若扩展fieldsets,直接拼接默认配置而非完全重写:
      from django.contrib.auth.admin import UserAdmin
      from .models import CustomUser
      
      class CustomUserAdmin(UserAdmin):
          fieldsets = UserAdmin.fieldsets + (
              ('自定义字段', {'fields': ('phone',)}),
          )
          filter_horizontal = UserAdmin.filter_horizontal + ()
      
    • 若完全重写fieldsets,需手动加入权限块:
      fieldsets = (
          # 其他字段块
          ('权限配置', {'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions')}),
      )
      
  • 确认Auth模块的Admin配置未被移除
    检查settings.py的INSTALLED_APPS是否包含django.contrib.auth和django.contrib.contenttypes,同时确认代码中没有注销默认UserAdmin的操作:

    # 避免此类注销代码(除非你明确要替换默认用户管理)
    # admin.site.unregister(User)
    
  • 排查自定义Admin模板的干扰
    查看项目templates/admin目录下是否存在auth/user/change_form.html或全局change_form.html,这类自定义模板可能隐藏了权限区域。对比全新Django项目的默认模板,补全权限相关的DOM结构。

  • 清除缓存并重启服务
    强制刷新浏览器(Ctrl+F5)清除缓存,同时重启Django开发服务器,确保静态文件和模板加载最新版本。

  • 检查第三方Admin主题/插件的影响
    如果使用了django-suit、django-admin-bootstrapped等Admin主题,临时注释掉相关配置,恢复默认Admin界面,验证权限选项是否显示。

内容的提问来源于stack exchange,提问作者mightycode Newton

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 21:53:10