Django의 Admin 기능은 웹 애플리케이션의 관리자 페이지를 생성하는 기능입니다. 이 기능을 사용하면 데이터 모델을 관리할 수 있는 사용자 인터페이스를 손쉽게 생성할 수 있습니다.

Django의 Admin 기능은 기본적으로 django.contrib.admin 앱에 포함되어 있습니다. 이 앱을 사용하면 관리자 페이지를 쉽게 만들 수 있습니다.

1. super user 만들기

먼저, Admin 페이지를 사용하려면 관리자 계정이 필요합니다. 관리자 계정을 생성하려면 createsuperuser 명령을 사용합니다.

$ python manage.py createsuperuser

위 명령을 실행하면 관리자 계정을 생성할 수 있습니다.

<aside> 🧐 비밀번호는 *로 표시되지 않으니 치셨던 키를 잘 기억하시기 바랍니다. 또한 비밀번호가 너무 짧거나 쉬우면 재입력을 할 수 있으니 충분히 어려운 비밀번호를 설정해 주세요.

</aside>

2. admin 페이지 관리하기

다음으로, admin.py 파일을 생성하여 어떤 모델을 Admin 페이지에서 관리할 것인지 등록합니다.

# blog/admin.py
from django.contrib import admin
from .models import Post

admin.site.register(Post)

위 코드에서는 admin.site.register(Post)를 사용하여 Post 모델을 Admin 페이지에서 관리할 수 있도록 등록하고 있습니다.

이제 localhost:8000/admin으로 접속하면 생성한 관리자 계정으로 로그인할 수 있습니다. 로그인 후 등록한 모델을 확인할 수 있으며, 필요에 따라 새로운 데이터를 추가하거나 수정할 수 있습니다.

Admin 기능은 기본적으로 제공되는 기능 이외에도 커스터마이징이 가능합니다. 예를 들어, 특정 필드를 숨기거나 특정 필드를 수정할 수 없게 만들 수도 있습니다. 이를 위해서는 ModelAdmin 클래스를 상속받아서 커스터마이징할 수 있습니다. 또한, Admin 페이지에 커스텀 페이지나 뷰를 추가하여 기능을 확장할 수도 있습니다.

3. admin 페이지 커스텀 하기

Admin 페이지를 커스텀 하는 방법은 여러 가지가 있습니다. 예를 들어, 기본 제공되는 Admin 템플릿을 커스텀 하거나, AdminSite 클래스를 상속받아서 새로운 Admin 페이지를 생성할 수도 있습니다.