∟Framework/∟Django

Django - Admin Site 활용

최 수빈 2025. 2. 13. 12:48

 

 

Django Admin Site

 

Django는 기본적으로 Admin Site(관리자 페이지) 기능을 제공

  • 레코드 조회
  • 레코드 생성
  • 레코드 수정
  • 레코드 삭제
  • 권한 설정
  • 검색 기능
  • 필터링
  • 정렬
  • 커스텀 UI 적용

→ 서비스의 효율적 관리 가능

 

 

Django Admin Site 활성화

 

Django 프로젝트를 생성하면 기본적으로 admin 페이지가 포함돼있음

settings.py의 INSTALLED_APPS

 

urls.py

urls.py
관리자 로그인 페이지

*admin 계정 생성

python manage.py createsuperuser

 최소 is_staff 권한 필요

 

 

admin에서 관리할 모델 등록

 

 

기본적으로 Django Admin Site에는 User 모델 등 기본적인 데이터만 제공

추가로 앱에서 사용하는 모델을 관리하기 위해 관리자 페이지에서 사용할 모델 등록 필요

각 앱의 admin.py에서 설정 가능

 

 

기본 등록

 

articles/admin.py
관리자 페이지에 추가된 Articles 모델

 

Django Admin 페이지에 접속하면 Article 모델이 추가된 것을 확인할 수 있음

 

기본적인 CRUD 포함

 

 

관리자 페이지 커스텀하기

 

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

 

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