坦笑&&life 2023-05-05 13:24 采纳率: 18.2%
浏览 15
已结题

django.contrib.admin.sites.NotRegistered: The model User is not registered

django.contrib.admin.sites.NotRegistered: The model User is not registered

django版本:
自己写的user模型

setting文件里面的内容:

#指明用户模型类
# AUTH_USER_MODEL = 'users.User'
AUTH_USER_MODEL = 'userprofile.User'

#指明用户认证后端
AUTHENTICATION_BACKENDS = ['dusaibolog.utils.mall_auth.UsernameMobileAuthBackend']
# 指明未登陆的跳转界面
LOGIN_URL = '/login/'


  • 写回答

1条回答 默认 最新

  • Lemon2050 2023-05-05 14:24
    关注

    如果在 Django 的管理界面(admin)中使用了 Django 的默认用户模型 User,但是你却遇到了 django.contrib.admin.sites.NotRegistered: The model User is not registered 的错误,可能是因为你在 admin.py 中没有注册 User 模型。

    要解决这个错误,你需要在你的应用的 admin.py 文件中注册 User 模型。通常,注册一个模型只需要在 admin.py 文件中导入模型并使用 admin.site.register() 函数注册模型,例如:

    from django.contrib import admin
    from django.contrib.auth.models import User
    
    admin.site.register(User)
    

    如果你已经在 admin.py 文件中注册了 User 模型,但是仍然遇到了 django.contrib.admin.sites.NotRegistered 的错误,请确保在你的 INSTALLED_APPS 设置中包含了 django.contrib.auth 应用。在你的 settings.py 文件中找到 INSTALLED_APPS 设置,确认它包含以下内容:

    INSTALLED_APPS = [
        # ...
        'django.contrib.auth',
        'django.contrib.admin',
        # ...
    ]
    

    如果还是无法解决问题,还可以尝试清除 Django 的缓存:

    python manage.py clearcache
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月14日
  • 已采纳回答 5月6日
  • 创建了问题 5月5日