[Django] django_extensions

2024. 6. 17. 13:31· Django/DRF
목차
  1. Django_extensions
  2. django_extensions 설치하기
  3. django_extensions 사용하기
  4. Show URLs
  5. Validate Templates
  6. Shell Plus
  7. Runserver Plus
  8. Print_settings
  9. Graph_models
반응형

Django_extensions

Django의 유용한 패키지중 하나로, 장고의 기본 명령어들의 기능을 확장해주고 여러 부가 기능을 추가해주는 모듈로 장고 프로젝트의 필수 설치 모듈로 불린다.

 

 

GitHub - django-extensions/django-extensions: This is a repository for collecting global custom management extensions for the Dj

This is a repository for collecting global custom management extensions for the Django Framework. - GitHub - django-extensions/django-extensions: This is a repository for collecting global custom ...

github.com

 

django_extensions 설치하기

$ pip install django-extensions

 

설치가 완료되면, settings.py에 INSTALLED_APPS에 django_extensions를 추가해준다.

# settings.py

INSTALLED_APPS = [
    # 다른 앱들
    'django_extensions',
]

 

 

django_extensions 사용하기

Show URLs

프로젝트의 모든 URL 목록을 목록으로 출력한다. 각 URL 패턴의 경로, 뷰 함수, 이름 등의 정보를 표시하여 프로젝트 전체의 URL 구조를 살펴 볼 수 있다. 큰 규모의 프로젝트에서 특히 유용하며, URL 간의 충돌을 방지하고 정확한 라우팅을 확인하는데 도움이 된다.

python manage.py show_urls

 

Validate Templates

프로젝트의 템플릿 파일들을 검사하여 렌더링 오류를 찾아낸다. 템플릿에서 발생할 수 있는 구문 오류나 변수 접근 오류 등을 사전에 발견하여 프로젝트의 품질을 향상시키고 디버깅 시간을 줄일 수 있다.

python manage.py validate_templates

 

Shell Plus

Django의 쉘 환경을 향상키신다. 기본 쉘보다 더 많은 모델을 자동으로 임포트하고, 편리한 개발 작업을 지원한다. 모델 객체를 쉽게 생성하고 데이터를 조작할 수 있다.

python manage.py shell_plus

 

--print-sql 옵션으로 장고 쉘에서 수행된 SQL 내역을 자동으로 출력해준다.

  • 쿼리셋을 통해 수행된 SQL 쿼리 뿐만 아니라, 직접 작성한 Raw 쿼리의 내역도 볼 수있다.
  • 데이터베이스 조회가 언제 발생하고, 구체적인 SQL 쿼리를 확인 할 수 있다.

 

Runserver Plus

개발 서버를 실행하는 데 있어 추가적인 기능을 제공한다. WerkZeug 디버거를 사용하여 코드의 디버깅과 프로파일링을 할 . 수있으며, 실시간 코드 변경 감지 및 자동 재시작 등의 기능을 제공한다. 개발 중인 애플리케이션의 성능을 분석하거나 디버깅을 보다 효율적으로 수행할 수 있다.

python manage.py runserver_plus

 

Print_settings

현재 settings 내역을 출력해준다. 프로젝트에 적용된 설정 내용을 한눈에 살펴볼 수 있다.

python manage.py print_settings --settings=mysite.settings

 

Graph_models

모델의 dot파일을 생성하여 데이터베이스 테이블을 시각화 할 수 있으나, 보기가 편하지 않아서 graphviz를 같이 사용하는것이 권장된다. 공식 문서에서는 pip를 사용하여 설치하면 된다고 나와있으나 그냥 설치하면 오류가 발생한다.

 

brew를 이용하여 설치후, pip를 이용하여 설치해야한다.

brew install graphviz
pip install graphviz

 

그래프를 파일로 받기

$ /manage.py graph_models -a -g -o my_project_visualized.png

 

원하는 모델만 출력하기

./manage.py graph_models -a -I User,Posts,Songs -o my_project_want_model.png
반응형
저작자표시 (새창열림)

'Django > DRF' 카테고리의 다른 글

[Django] 모델 기본 필드 이해하기  (1) 2024.06.18
[Django] Generic date views (Archive views)  (0) 2024.06.18
[Django] URL Reverse를 통한 URL 작성  (0) 2024.06.17
[Django] Django에서 Slug란?  (0) 2024.06.17
[Django] django-debug-toolbar  (0) 2024.06.11
  1. Django_extensions
  2. django_extensions 설치하기
  3. django_extensions 사용하기
  4. Show URLs
  5. Validate Templates
  6. Shell Plus
  7. Runserver Plus
  8. Print_settings
  9. Graph_models
'Django/DRF' 카테고리의 다른 글
  • [Django] 모델 기본 필드 이해하기
  • [Django] Generic date views (Archive views)
  • [Django] URL Reverse를 통한 URL 작성
  • [Django] Django에서 Slug란?
Jong_seoung
Jong_seoung
기록하자, 머리는 생각하는 곳이지 저장장치가 아니다.
반응형
Jong_seoung
Today_developStory
Jong_seoung
전체
오늘
어제

블로그 메뉴

  • Home
  • Git Hub
  • 분류 전체보기 (351)
    • Theory (16)
    • Java (3)
      • 알고리즘 (2)
      • 문법 (0)
    • Spring (7)
      • 스프링 입문 (6)
      • PickTalk (0)
      • 에러처리 (1)
    • Python (80)
      • 알고리즘 - 이론 (17)
      • 알고리즘 - 내장함수, 라이브러리 등등 (3)
      • 알고리즘 - 백준 (53)
      • 나도코딩 정리 (2)
      • 기타 (5)
    • Django (159)
      • DRF (105)
      • 인프라 (46)
      • DataBases (2)
      • API Docs (6)
    • FrontEnd (22)
      • htmx (2)
      • React (8)
      • 자바스크립트 (12)
    • GIT (16)
    • 기타 (8)
      • 정리 (2)
      • Flutter (1)
      • 마이크로프로세서 - ATmega128 (2)
      • 개발환경 세팅 (3)
    • 자격증 (37)
      • 정보처리기사 (19)
      • SQLD자격증 (18)

인기 글

최근 글

태그

  • alarm
  • BFS
  • CSRF
  • Django
  • django channels
  • django sse
  • django tutorial
  • django 배포
  • django 스웨거 적용
  • Django 이미지 저장

최근 댓글

hELLO · Designed By 정상우.v4.3.0
Jong_seoung
[Django] django_extensions
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.