2010-02-26 30 views
37

Theo mặc định, trong Django-admin có ứng dụng Người dùng, Nhóm và Trang web. Tôi làm cách nào để xóa Nhóm và Trang web?Xóa ứng dụng mặc định từ Django-admin

Tôi đã cố gắng xóa admin.autodiscover() khỏi url gốc. Sau đó, khi tôi thêm một cái gì đó như admin.site.register(User, UserAdmin) ở đâu đó trong các mô hình ứng dụng của tôi, tôi nhận được một ngoại lệ AlreadyRegistered (điều này là khá đúng - các mô hình người dùng đã đăng ký trong django.contrib.auth).

Trả lời

74

Trong một admin.py bạn biết chắc chắn sẽ được nạp, hãy thử:

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

Bạn sẽ cần phải nhập họ (hoặc tôi đã làm): từ django.contrib.sites .models Trang web nhập từ nhập django.contrib.auth.models * – Vernon

3

Ngoài các đôi trên kiểm tra đặt hàng của bạn trong "INSTALLED_APPS" trong "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' 
] 

Nếu không, nó sẽ gây ra lỗi. Xem ở đây: Issue with Django admin registering an inline user profile admin

1

Để thoát khỏi Users and Groups tôi phải làm trong 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) 
Các vấn đề liên quan