기술블로그-Django편

📌 Django-extensions 완전 가이드 - 실전 개발을 위한 필수 도구

Chansman 2025. 5. 16. 15:55

📌 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는 실무에서 데이터 테스트, 구조 분석, 스크립트 실행을 간편하게 해주는 개발자 필수 툴입니다. 초기에 잘 설정해두면 프로젝트 전반의 생산성을 획기적으로 높일 수 있어요 ⚙️