Django Admin

3932 단어 Django
간단한 소개
Django에 내장된 Admin은 모델에 대응하는 데이터 테이블을 삭제하고 수정하는 데 제공하는 구성 요소입니다.
기본 용도:
  • 구성 라우팅, 프로젝트의 기본 구성:
    from django.conf.urls import url
    from django.contrib import admin
    
    urlpatterns = [
            url(r'^admin/', admin.site.urls),
        ]
  • 등록모델:
    from django.contrib import admin
    from . import models
    
    admin.site.register(models.UserInfo)
  • admin은 자동으로 루트 맵 관계를 생성합니다. 형식은 다음과 같습니다./admin/app 이름/model 이름/목록/admin/app 이름/model 이름/add/증가/admin/app 이름/model 이름/ID 값/change/수정/admin/app 이름/model 이름/ID 값/delete/삭제...
  • 사용자 정의 Admin
    모델 등록admin.site.register(models.UserInfo)을 통해 기본 백엔드 관리 기능을 제공할 수 있습니다.원본 보기 register() :ModelAdmin, 이것은 설정 클래스입니다. 실례화할 때 모델과 사이트 대상을 수신하고, 주어진 모델에 모든 관리자 옵션과 기능을 봉인합니다.따라서 파생ModelAdmin 클래스를 통해 맞춤형 Admin을 사용자 정의할 수 있습니다.
    from django.contrib import admin
    from . import models
    
    
    #    :
    class MyConfig(admin.ModelAdmin):
        #        
        list_display = ['id', 'name', 'email']
    
    admin.site.register(models.UserInfo, MyConfig)
    
    #    :
    @admin.register(models.UserInfo)
    class MyConfig(admin.ModelAdmin):
        list_display = ['id', 'name', 'email']

    사용자 지정 옵션 참조:http://www.cnblogs.com/wupeiqi/articles/7444717.html
    Admin 라우팅 시스템의 본질
  • setting을 불러옵니다.py 구성
    INSTALLED_APPS = [
        'django.contrib.admin',
        # .......
    ]
  • admin 모듈 찾기django.contrib.admin__init__.py중:
    def autodiscover():
        autodiscover_modules('admin', register_to=site)
    설명:Django는 자동으로 모든 응용 프로그램에서 admin을 찾습니다.py 모듈 및 실행
  • admin을 실행합니다.py, 등록 모델:
    from django.contrib import admin
    from . import models
    
    admin.site.register(models.UserInfo)
  • admin.site.register()에서site 대상의 _registry 사전 부여값, 키는 모델,value는 모델의 설정 클래스(구체적으로 원본 보기)
    self._registry[model] = admin_class(model, self)
  • 실행 루트 매핑 관계
    url(r'^admin/', admin.site.urls)
    는site 대상을 다시 호출하고, 실행.urls 방법은 site 대상의 _registry 속성을 순환하며, app와 모델 이름에 따라 Django 백엔드 관리의 url 매핑을 생성한다.
  • Django 백그라운드에서 수행한 첨삭 수정은 사실 ModelAdmin 중의 다음과 같은 방법을 수행했다.
  • def changelist_view () 목록 보이기
  • def add_view() 증가
  • def change_view () 수정
  • def delete_view() 삭제
  • 좋은 웹페이지 즐겨찾기