2010-02-26 10 views
37

Per impostazione predefinita, in Django-admin ci sono applicazioni per utenti, gruppi e siti. Come posso rimuovere gruppi e siti?Rimuovere le app predefinite da Django-admin

Ho provato a rimuovere admin.autodiscover() dagli URL principali. Poi, quando ho aggiunto qualcosa come admin.site.register(User, UserAdmin) da qualche parte nei miei modelli di app, ho ricevuto un'eccezione AlreadyRegistered (questo è abbastanza giusto - modella gli utenti già registrati in django.contrib.auth).

risposta

74

In un admin.py si sa sarà sicuramente essere caricato, provare:

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

Sarà necessario importarli (o ho fatto): da django.contrib.sites .models import Site dall'importazione di django.contrib.auth.models * – Vernon

3

In aggiunta a quanto sopra doppia controllare il vostro ordine di "INSTALLED_APPS" in "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' 
] 

Altrimenti causerà un errore. Vedi qui: Issue with Django admin registering an inline user profile admin

1

per sbarazzarsi di utenti e gruppi che dovevo fare in 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) 
Problemi correlati