📌 Django-extensions 완전 가이드 - 실전 개발을 위한 필수 도구
🧩 django-extensions란?
django-extensions는 Django 개발을 더 쉽고 강력하게 도와주는 도우미 커맨드 모음집입니다. 다양한 커맨드라인 기능을 추가로 제공해주는 개발 생산성 향상 라이브러리입니다.
🚀 주요 특징
기능 설명
📜 shell_plus | 자동 import가 적용된 Django shell 실행 |
🧪 runscript | 관리 명령어로 스크립트 실행 가능 |
🔁 show_urls | 전체 URL 목록 보기 (path, name, view 확인용) |
🔄 graph_models | ERD를 시각화한 모델 구조도 생성 |
🧼 clean_pyc | .pyc 캐시 파일 전체 삭제 |
⚙️ 설치 및 세팅
1. 설치 명령어
pip install django-extensions
2. settings.py 등록
INSTALLED_APPS = [
...
'django_extensions',
]
💡 자주 사용하는 명령어 예시
✅ shell_plus
python manage.py shell_plus
- 모델, settings 등 대부분의 객체를 자동 import한 채로 shell 진입
- ipython, bpython, ptpython과 연동 가능
✅ runscript
python manage.py runscript myscript
- scripts/myscript.py 파일 실행
- 데이터 초기화, 샘플 삽입 등에 활용 가능
✅ show_urls
python manage.py show_urls
- 프로젝트 전체 URL 목록 출력
- URL 디버깅 및 문서화에 유용
✅ graph_models
python manage.py graph_models -a -o erd.png
- 전체 앱 모델 구조를 ERD 이미지로 시각화
- Graphviz 설치 필요: brew install graphviz 또는 apt install graphviz
📁 스크립트 폴더 구조 예시
project/
└── app/
└── scripts/
└── myscript.py
# myscript.py 예시
from app.models import MyModel
def run():
MyModel.objects.create(name="테스트")
✅ 요약 정리
항목 설명
라이브러리명 | django-extensions |
핵심 기능 | shell_plus, runscript, show_urls, graph_models 등 |
shell_plus | 자동 import 기능이 포함된 Django shell 실행 |
runscript | 특정 파이썬 스크립트를 관리 명령으로 실행 |
설치 후 | INSTALLED_APPS에 'django_extensions' 추가 필수 |
django-extensions는 실무에서 데이터 테스트, 구조 분석, 스크립트 실행을 간편하게 해주는 개발자 필수 툴입니다. 초기에 잘 설정해두면 프로젝트 전반의 생산성을 획기적으로 높일 수 있어요 ⚙️
'기술블로그-Django편' 카테고리의 다른 글
🔐 Django signing.dumps() 완벽 이해하기 (0) | 2025.05.19 |
---|---|
📌 OAuth2 & 네이버 소셜 로그인 흐름 완전 정리 (0) | 2025.05.16 |
📌 Django-summernote - WYSIWYG 에디터 통합 가이드 (0) | 2025.05.16 |
📌 Django ImageField 완전 정리 - 이미지 업로드 기능 구현 가이드 (0) | 2025.05.16 |
✅ Django ORM 필드 룩업 완전 정복: nickname__icontains vs tags__tag 차이 이해하기 (0) | 2025.05.16 |