1. Django 관리자 소개
Django Admin은 Django 프레임워크와 함께 제공되는 관리 백엔드 도구로, 개발자가 직관적인 웹 인터페이스를 통해 애플리케이션의 데이터 모델을 쉽게 관리할 수 있습니다. 관리자는 모델 CRUD(생성, 읽기, 업데이트, 삭제) 작업은 물론 데이터 일괄 처리 및 검색 기능을 제공하여 일상적인 데이터베이스 관리를 크게 단순화합니다. 개발 단계에 적합할 뿐만 아니라 생산 환경의 데이터 유지 관리에도 매우 적합합니다.
2. 관리 인터페이스 사용자 정의
Django Admin은 개발자가 프로젝트 요구에 따라 인터페이스를 조정할 수 있도록 다양한 사용자 정의 옵션을 제공합니다.
- 사용자 정의 관리 템플릿 : 사용자 정의 템플릿을 생성하여 관리 인터페이스의 모양을 변경할 수 있습니다.
AD: 홈 페이지 | 수정과 같은 광범위한 주제 도구를 다루는 효율적인 온라인 플랫폼입니다admin/base_site.html
. - 사용자 정의 Admin CSS 및 JavaScript :
settings.py
사용자 정의 CSS 및 JavaScript 파일을 추가하여 Admin의 스타일과 동작을 변경할 수 있습니다.
2.2 고급 구성을 위해 Admin 클래스 사용
Django Admin은 Admin 클래스를 사용하여 모델의 관리 인터페이스를 구성합니다.
- Admin 클래스 생성 : 에서
admin.py
각 모델에 대한 Admin 클래스를 생성합니다(예: )class MyModelAdmin(admin.ModelAdmin): ...
. - Admin 클래스 등록 :
admin.site.register(MyModel, MyModelAdmin)
등록 모델과 해당 Admin 클래스를 사용합니다. - 구성 옵션 : Admin 클래스에서는
list_display
목록 페이지에 표시되는 필드 지정,search_fields
검색창 추가 등 다양한 옵션을 설정할 수 있습니다.
2.3 필드 및 필드 세트 관리
- 필드 관리 : Admin 클래스의
fields
또는 속성을 사용하여fieldsets
편집 페이지의 필드 표시를 제어할 수 있습니다. - Fieldsets :
fieldsets
더 나은 사용자 경험을 제공하기 위해 필드를 그룹화할 수 있습니다fieldsets = [('基本信息', {'fields': ['name', 'description']}), ...]
.
2.4 목록 페이지 최적화
- 목록 보기 사용자 정의 :
list_display
필드를 사용하여 목록 페이지 표시를 제어하고,list_filter
필터를 추가하고,ordering
기본 정렬을 설정합니다. - 작업 버튼 추가 :
actions
속성을 사용하여 대량 삭제 또는 읽음으로 표시와 같은 대량 작업을 추가합니다.
2.5 인라인 모델 사용
인라인 모델을 사용하면 관련 모델을 상위 모델의 편집 페이지에서 직접 편집할 수 있습니다.
- 인라인 모델을 정의하십시오
inlines
. 예를 들어 Admin 클래스의 속성을 사용하십시오class RelatedModelInline(admin.TabularInline): model = RelatedModel
. - 인라인 모델 사용 : 상위 모델의 Admin 클래스에 인라인 모델을 추가합니다(예:
inlines = [RelatedModelInline]
.
3 관리자 커스터마이징 및 확장
3.1 관리 템플릿 사용자 정의
- 사용자 정의 관리 템플릿 : Django Admin을 사용하면 모델 목록, 양식 및 세부 정보 페이지의 모양 수정을 포함하여 관리 인터페이스의 모양과 동작을 사용자 정의할 수 있습니다.
- 사용자 정의된 관리 스타일 : 관리 템플릿을 재정의하거나 사용자 정의 CSS를 사용하여 관리 인터페이스의 스타일을 조정할 수 있습니다.
3.2 관리 작업 사용
- 관리자 작업 : Django Admin은 일괄 삭제, 내보내기 및 기타 작업과 같은 Admin 인터페이스의 개체를 일괄 처리할 수 있는 관리자 작업 기능을 제공합니다.
- 사용자 정의 관리자 작업 : 사용자 정의 관리자 작업을 작성하여 특정 일괄 작업을 수행할 수 있습니다.
3.3 타사 애플리케이션 통합
- 타사 애플리케이션 통합 : Django를 사용하면 타사 애플리케이션을 쉽게 통합할 수 있으며, 타사 애플리케이션을 설치하고 구성하면 Django의 기능을 확장할 수 있습니다.
3.4 국제화와 지역화
- 국제화 : Django는 국제화 지원을 제공하므로 애플리케이션을 여러 언어로 지역화할 수 있습니다.
- 현지화 : Django에 내장된 국제화 도구와 번역 메커니즘을 사용하여 애플리케이션을 다양한 언어와 지역으로 쉽게 현지화할 수 있습니다.
3.5 API 개발을 위해 Django REST 프레임워크 사용
- Django REST Framework : DRF는 웹 API 구축을 위한 강력하고 유연한 도구입니다. 직렬화, 보기, 인증, 권한 등을 포함한 풍부한 기능을 제공합니다.
- API 개발 : DRF를 통해 RESTful 설계 원칙을 준수하는 API를 신속하게 구축하고 모바일 애플리케이션, 프런트엔드 프레임워크 또는 기타 서비스에 대한 데이터 인터페이스를 제공할 수 있습니다.
코드 사용자 정의의 예:
# Register your models here.
from django.db import models
from blog.models import Article
admin.site.site_header= "自动化测试平台"
admin.site.site_title= "自动化测试平台"
#@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
#编辑要显示的信息
list_display = ["title","brief_content","publish_date"]
#list_filter = ['title']
#搜索的字段
search_fields = ['title', 'brief_content']
admin.site.register(Article,ArticleAdmin)