2010-02-26 9 views
37

Domyślnie w Django-admin znajdują się aplikacje Użytkownicy, grupy i Witryny. Jak mogę usunąć grupy i witryny?Usuwanie domyślnych aplikacji z Django-admin

Próbowałem usunąć admin.autodiscover() z adresów roota. Następnie, gdy dodałem coś w rodzaju modeli takich jak admin.site.register(User, UserAdmin) gdzieś w moich modelach aplikacji, otrzymałem wyjątek AlreadyRegistered (jest to całkiem słuszne - modele użytkowników już zarejestrowanych w django.contrib.auth).

Odpowiedz

74

W admin.py wiesz na pewno być ładowany, spróbuj:

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

Trzeba będzie je importować (lub ja): z django.contrib.sites .models import Site from django.contrib.auth.models import * – Vernon

3

Oprócz wyżej podwójnie sprawdzić uporządkowanie "INSTALLED_APPS" w "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' 
] 

W przeciwnym razie spowoduje błąd. Zobacz tutaj: Issue with Django admin registering an inline user profile admin

1

Aby pozbyć użytkowników i grup musiałem zrobić w 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) 
Powiązane problemy