복붙노트

[PYTHON] 장고 관리자에서 기본 응용 프로그램을 제거하십시오

PYTHON

장고 관리자에서 기본 응용 프로그램을 제거하십시오

기본적으로 장고 관리에는 사용자, 그룹 및 사이트 도구가 있습니다. 그룹스와 사이트를 어떻게 제거 할 수 있습니까?

루트 URL에서 admin.autodiscover ()를 제거하려고했습니다. 그런 다음 admin.site.register (User, UserAdmin) 같은 것을 내 앱 모델 어딘가에 추가했을 때 AlreadyRegistered 예외가 발생했습니다 (이것은 꽤 옳았습니다 - 이미 django.contrib.auth에 등록 된 사용자).

해결법

  1. ==============================

    1.admin.py에서 확실히로드 될 것입니다. 시도해보십시오.

    admin.py에서 확실히로드 될 것입니다. 시도해보십시오.

    admin.site.unregister(User)
    admin.site.unregister(Group)
    admin.site.unregister(Site)
    
  2. ==============================

    2.위의 내용 외에도 "settings.py"의 "INSTALLED_APPS"주문을 다시 확인하십시오.

    위의 내용 외에도 "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'
    ]
    

    그렇지 않으면 오류가 발생합니다. 여기를 참고하십시오 : Django 관리자가 인라인 사용자 프로필을 등록 할 때 발생하는 문제 admin

  3. ==============================

    3.admin.py에서해야하는 사용자와 그룹을 제거하려면 다음을 수행하십시오.

    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)
    
  4. from https://stackoverflow.com/questions/2342031/remove-default-apps-from-django-admin by cc-by-sa and MIT license