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

2025. 5. 16. 15:55·기술블로그-Django편

📌 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
'기술블로그-Django편' 카테고리의 다른 글
  • 🔐 Django signing.dumps() 완벽 이해하기
  • 📌 OAuth2 & 네이버 소셜 로그인 흐름 완전 정리
  • 📌 Django-summernote - WYSIWYG 에디터 통합 가이드
  • 📌 Django ImageField 완전 정리 - 이미지 업로드 기능 구현 가이드
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (800) N
      • Python (32)
      • 프로젝트 (115) N
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (41)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (154)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    뷔
    self-growth
    global politics
    lawsuitculture
    gpterror
    trumpmuskclash
    smartphonedurability
    btscomeback
    RM
    basalcellcarcinoma
    livebroadcast
    btsjungkook
    bts
    newpoliticalparty
    remittance
    youngprofessionals
    hotcoffeecase
    travel ban
    chatgpterror
    btsreunion
    life reflection
    college reunions
    homebartrend
    classaction
    urbantrends
    btsdischarge
    titaniumcase
    americanlaw
    chinanightlife
    americaparty
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
📌 Django-extensions 완전 가이드 - 실전 개발을 위한 필수 도구
상단으로

티스토리툴바