Django Admin Site
Django는 기본적으로 Admin Site(관리자 페이지) 기능을 제공
- 레코드 조회
- 레코드 생성
- 레코드 수정
- 레코드 삭제
- 권한 설정
- 검색 기능
- 필터링
- 정렬
- 커스텀 UI 적용
→ 서비스의 효율적 관리 가능
Django Admin Site 활성화
Django 프로젝트를 생성하면 기본적으로 admin 페이지가 포함돼있음
urls.py
*admin 계정 생성
python manage.py createsuperuser
최소 is_staff 권한 필요
admin에서 관리할 모델 등록
기본적으로 Django Admin Site에는 User 모델 등 기본적인 데이터만 제공
추가로 앱에서 사용하는 모델을 관리하기 위해 관리자 페이지에서 사용할 모델 등록 필요
각 앱의 admin.py에서 설정 가능
기본 등록
Django Admin 페이지에 접속하면 Article 모델이 추가된 것을 확인할 수 있음
관리자 페이지 커스텀하기
Django의 기본 제공 Admin 페이지는 CRUD 기능(Create, Read, Update, Delete)을 제공하지만, 데이터가 많아질수록 관리가 어려울 수 있음
→ 검색, 필터링, 정렬 등의 기능을 추가 가능
ModelAdmin을 활용한 커스텀 등록
기본 등록 방식이 아닌 데코레이터 방식을 활용하면 다양한 기능을 쉽게 추가할 수 있음
- list_display : 목록에서 표시할 필드 지정
- search_fields : 검색 기능 추가(title, content에서 검색 가능)
- list_filter : 필터 추가(created_at 기준 필터링 가능)
- date_hierarchy : 날짜별 계층 구조 제공(created_at 기준)
- ordering : 정렬 기준 (-created_at으로 최신순 정렬)
→ 관리자 페이지에서 데이터 검색과 필터링 가능, 가독성이 향상
*추가적인 커스텀 기능
Django Admin은 CSS 및 JavaScript를 활용하여 커스텀 가능
예 : 특정 필드를 강조, 입력 폼 변경
The Django admin site | Django documentation
The web framework for perfectionists with deadlines.
docs.djangoproject.com
'∟Framework > ∟Django' 카테고리의 다른 글
Django - Static & Media (2) | 2025.02.08 |
---|---|
Django - 회원기능 구현하기 (1) | 2025.02.06 |
Django - Auth (1) | 2025.02.04 |
Django - URL Namespace (0) | 2025.02.02 |
Django - Django Form과 ModelForm을 활용한 입력 폼 처리 (0) | 2025.01.31 |