从Django-admin中删除默认应用程序

Ant*_*al' 50 python django django-admin

默认情况下,在Django-admin中有用户,组和站点应用程序.如何删除群组和网站?

我试图admin.autodiscover()从根网址中删除.然后,当我admin.site.register(User, UserAdmin)在我的应用程序模型中添加某些内容时,我得到了一个AlreadyRegistered例外(这是相当正确的 - 模型用户已在django.contrib.auth中注册).

Ste*_*lim 92

在admin.py中,你知道肯定会加载,尝试:

admin.site.unregister(User)
admin.site.unregister(Group)
admin.site.unregister(Site)
Run Code Online (Sandbox Code Playgroud)

  • 您将需要导入它们(或者我已经):从django.contrib.sites.models导入来自django.contrib.auth.models import的站点* (37认同)

Sch*_*itz 9

除上述内容外,请仔细检查"settings.py"中"INSTALLED_APPS"的排序

INSTALLED_APPS = [
    # django apps first
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # custom apps below
    'my_app'
]
Run Code Online (Sandbox Code Playgroud)

否则会导致错误.请参阅此处:Django管理员注册内联用户配置文件admin的问题


use*_*509 6

要摆脱用户和组,我必须在admin.py中执行以下操作:

from django.contrib import admin
# Need to import this since auth models get registered on import.
import django.contrib.auth.admin
import django.contrib.auth.models
from django.contrib import auth

admin.site.unregister(auth.models.User)
admin.site.unregister(auth.models.Group)
Run Code Online (Sandbox Code Playgroud)