Communitygithub.com

Ali-Fani/django-unfold-skills

django-unfold 에이전트 기술 모음: ModelAdmin, 액션, 필터, 탭, 컴포넌트, 대시보드, 테마, 보안, 프로덕션 패턴을 다루는 22가지 전문 기술

django-unfold-skills란 무엇인가요?

이 기술 모음은 django-unfold 라이브러리를 위한 포괄적인 에이전트 스킬 세트로, 22가지 개별 기술을 통해 ModelAdmin, 액션, 필터, 탭, 컴포넌트, 대시보드, 테마 설정, 보안 및 프로덕션 패턴을 다룹니다. Django의 기본 관리자 기능을 대체하지 않고, Tailwind 기반 템플릿과 설정 딕셔너리를 통해 시각적 개선 및 추가 선택 기능을 제공하는 Unfold의 계층 구조를 명확히 이해하는 데 중점을 둡니다. 각 기술은 Django 고유 기능, Unfold 추가 기능, 사용자 정의 코드, 유료 Unfold Studio 플러그인 등 네 가지 계층으로 나뉘어, 에이전트가 기능을 잘못 할당하거나 Django 메커니즘과 충돌하지 않도록 라우팅 테이블을 제공합니다. Claude Code, Cursor, Codex 등 모든 AI 에이전트 플랫폼에서 사용할 수 있으며, Unfold 0.104.1, Python 3.12+, Django 5.2+ 환경에서 검증되었습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add Ali-Fani/django-unfold-skills

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Verified against: django-unfold 0.104.1

Docs: https://unfoldadmin.com/docs/ , https://github.com/unfoldadmin/django-unfold

Dependencies: none. Related: unfold-installation, unfold-modeladmin, unfold-settings, unfold-navigation.

Unfold Core — 멘탈 모델 및 라우팅

목적

Unfold 작업에 올바른 멘탈 모델을 확립합니다. Unfold는 django.contrib.admin 위에 스타일링과 기능 강화 계층일 뿐이며, 완전한 대체재가 아닙니다. Unfold가 하는 거의 모든 것은 Django 관리자에 새로운 템플릿(Tailwind), 설정 딕셔너리, 추가 옵트인 기능(액션, 필터, 탭, 컴포넌트, 명령 팔레트)을 더한 것입니다.

아래 계층 규칙을 내재화한 에이전트는 기능을 잘못 지정하거나 Django 메커니즘과 충돌하거나 설정을 임의로 만들지 않습니다.

계층 규칙

모든 기능은 정확히 하나의 계층에 속합니다:

계층다루는 내용예시
[DJANGO]표준 관리자 메커니즘 — Unfold는 외형만 변경list_display, search_fields, fieldsets, inlines, get_queryset(), has_*_permission, 액션 드롭다운, autocomplete_fields, raw_id_fields, 목록 페이지네이션
[UNFOLD]공식 Unfold 추가 기능 — 설정 딕셔너리, contrib 앱, 데코레이터, 컴포넌트, 믹스인UNFOLD = {...}, unfold.admin.ModelAdmin, @display, @action, unfold.contrib.filters, UnfoldModelAdminViewMixin, BaseComponent, InfinitePaginator, actions_list/row/detail/submit_line, 탭, 명령 팔레트
[CUSTOM]에이전트가 작성하는 프로젝트 수준 코드templates/admin/index.html 오버라이드, Tailwind 빌드, 폼을 사용하는 커스텀 뷰, 서비스/쿼리셋 계층, 커스텀 컴포넌트
[STUDIO]유료 Unfold Studio 플러그인 기능박스형 레이아웃, 고정 헤더, 최소 사이드바, 강제 다크 사이드바, 배너, 중첩 내비게이션, 대시보드 템플릿. 공개 API에 대한 대체 방법은 unfold-studio 기술 참고

규칙: 기능을 제공하는 가장 낮은 계층에 귀속시키세요. 일반 Django가 처리하는 기능은 일반 Django를 권장합니다.

라우팅 테이블 (요구사항별 메커니즘)

사용자가 원하는 것메커니즘기술
모델 CRUDModelAdmin (Django)unfold-modeladmin
선택된 행에 대한 대량 작업actions (Django 드롭다운) 또는 Unfold actions_listunfold-actions
목록에서 한 행에 대한 작업actions_rowunfold-actions
상세 페이지에서 한 객체에 대한 작업actions_detailunfold-actions
변경 폼에 추가 저장 모드 버튼actions_submit_lineunfold-actions
작업 전 확인 대화상자@action(dialog={...})unfold-actions
변경 목록의 필터/사이드 패널list_filter (+ Unfold 필터 클래스)unfold-filters
변경 목록의 검색 상자search_fields (Django)unfold-modeladmin
글로벌 브랜드/제목/로고UNFOLD 설정unfold-settings
아이콘/배지가 있는 사이드바 메뉴UNFOLD["SIDEBAR"]unfold-navigation
변경 목록/변경 폼 위 추가 탭UNFOLD["TABS"]unfold-tabs
변경 폼 내부의 탭fieldsets "tab" 클래스, inline tab = Trueunfold-tabs
CRUD 외 페이지 (분석, 마법사)커스텀 관리자 뷰 (UnfoldModelAdminViewMixin)unfold-custom-pages
카드/차트가 있는 관리자 랜딩 페이지DASHBOARD_CALLBACK + templates/admin/index.html 오버라이드 또는 커스텀 페이지unfold-dashboard
변경 폼의 관련 객체inlines (Django; Unfold 기본 클래스)unfold-inlines
변경 폼 필드 그룹화fieldsets (Django; Unfold는 탭 클래스 추가)unfold-modeladmin, unfold-tabs
간결한 반복 가능 필드 목록ArrayWidgetunfold-fields
리치 텍스트 편집WysiwygWidgetunfold-fields
시각적 색상/테마 변경UNFOLD["COLORS"], BORDER_RADIUS, THEMEunfold-theming
설정 이상의 시각적 변경Tailwind/템플릿 오버라이드unfold-tailwind
큰 테이블 느린 페이지네이션InfinitePaginatorunfold-performance
cmd+K 팔레트의 모델 데이터UNFOLD["COMMAND"]unfold-navigation
변경 목록 행의 관련 레코드 테이블 (확장 가능)list_sections with TableSection/TemplateSectionunfold-modeladmin
변경 폼의 보조 변경 목록change_form_datasets (BaseDataset)unfold-modeladmin

설정만으로 충분하지 않은 경우 (커스텀 구현 필요):

  • 액션 대화상자가 아닌 폼 + POST가 있는 모든 것 → 커스텀 페이지 (unfold-custom-pages).
  • 컴포넌트보다 풍부한 대시보드 → 대시보드 템플릿 오버라이드 + Tailwind (unfold-dashboard).
  • 설정으로 노출되지 않는 시각적 효과 → Tailwind CSS 또는 템플릿 오버라이드 (unfold-tailwind, unfold-studio).
  • 단순 변경 이상의 비즈니스 로직 → 서비스 계층, 절대 ModelAdmin 메서드 아님 (unfold-production).

황금 규칙

  1. 모든 관리자 클래스는 unfold.admin.ModelAdmin을 상속해야 하며 (모든 인라인은 unfold.admin.TabularInline/StackedInline), 그렇지 않으면 페이지가 스타일 없이 렌더링됩니다. 타사 ModelAdmin은 Unfold 기본 클래스로 재등록해야 합니다.
  2. "unfold"는 INSTALLED_APPS에서 django.contrib.admin 앞에 와야 합니다. Contrib 앱(unfold.contrib.filters, unfold.contrib.forms, unfold.contrib.inlines)은 바로 뒤에 옵니다.
  3. Unfold는 관리자 URL, 템플릿 경로(admin/base_site.html 확장 가능), Django의 권한 메커니즘을 대체하지 않습니다 — 확장하되, 싸우지 마세요.
  4. Unfold 내부(문서화된 컴포넌트 외 템플릿 이름, 비공개 템플릿 태그)를 하드코딩하지 마세요. 문서화된 설정/클래스만 사용하세요.
  5. 비즈니스 로직은 ModelAdmin에 존재하지 않습니다. ModelAdmin은 서비스 계층 위의 HTTP/권한 계층입니다. unfold-production을 참조하세요.
  6. Unfold는 빠르게 변경됩니다. 예상치 못한 동작이 발생하면 디버깅 전에 docs/version-notes.md와 최신 문서를 먼저 확인하세요.

버전 정보 (검증됨)

  • 현재 PyPI 릴리스: 0.104.1 (이 스위트는 이에 대해 검증됨).
  • Python ≥3.12, Django ≥5.2 필요 (requires_dist: django>=5.2).
  • 0.56.0부터 Tailwind v4 (v3 커스텀 스타일시트 호환성 깨짐).
  • Unfold는 기본 관리자와 함께 작동하며 점진적 도입이 가능합니다.

관련 기술

설치 작업은 unfold-installation을 로드하세요. 그 외 모든 것은 위 라우팅 테이블을 따릅니다.

관련 스킬