2010-02-26 4 views
37

По умолчанию в Django-admin есть приложения «Пользователи», «Группы» и «Сайты». Как удалить группы и сайты?Удалить приложения по умолчанию из Django-admin

Я попытался удалить admin.autodiscover() с корневых URL-адресов. Затем, когда я добавил что-то вроде admin.site.register(User, UserAdmin) где-то в моих моделях приложений, я получил исключение AlreadyRegistered (это довольно верно - пользователи моделей уже зарегистрированы в django.contrib.auth).

ответ

74

В admin.py вы знаете, безусловно, будет загружен, попробуйте:

admin.site.unregister(User) 
admin.site.unregister(Group) 
admin.site.unregister(Site) 
+33

Вам нужно будет импортировать их (или я): из django.contrib.sites .models import Сайт от django.contrib.auth.models импорт * – Vernon

3

В дополнение к вышесказанному дважды проверить порядок "INSTALLED_APPS" в "settings.py"

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' 
] 

В противном случае это приведет к ошибке. Смотрите здесь: Issue with Django admin registering an inline user profile admin

1

Чтобы избавиться от пользователей и групп я должен был сделать в 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) 
Смежные вопросы