bestwish
Hong's Tistory
bestwish
전체 방문자
오늘
어제
  • 분류 전체보기 (32)
    • DevOps (21)
      • Django (15)
      • TIL (2)
      • Python (2)
      • Git (0)
      • Docker (1)
      • Infra (1)
    • Algorithm (3)
      • 백준문제 (3)
      • 이론 (0)
    • CS (6)
      • Data Structure (6)

인기 글

최근 글

hELLO · Designed By 정상우.
bestwish

Hong's Tistory

[Django] django-debug-toolbar 사용하기
DevOps/Django

[Django] django-debug-toolbar 사용하기

2022. 5. 16. 01:41

공식문서

 

django-debug-toolbar의 특징

  • 현재 request/response에 대한 다양한 디버깅 정보를 보여준다.
  • 다양한 Panel을 지원한다.
    • SQLPanel을 통해, 각 요청 처리 시에 발생한 SQL 내역 확인 가능하다.
    • Ajax 요청에 대한 지원은 불가능하다.

 

설치 및 실행

1. 설치

$ pip install django-debug-toolbar

 

2. settings.py 추가

INSTALLED_APPS = [
    ...
    'debug_toolbar',
    ...
]

...

MIDDLEWEAR = [
    ...
     'debug_toolbar.middleware.DebugToolbarMiddleware',
      ...
]

...

INTERNAL_IPS = ['127.0.0.1']

 

3. (project)urls.py 추가

...
import debug_toolbar

urlpatterns += [
        path('__debug__/', include(debug_toolbar.urls))
    ]

 

4. 웹에서 DDT가 보이지 않을 때

  • 개발자 도구 > 콘솔 확인
    • Failed to load module script: The server responded with a non-JavaScript MIME type of "text/plain". Strict MIME type checking is enforced for module scripts per HTML spec. / toolbar.js:1 에러가 발생하는지 체크한다.
  • 파이썬 콘솔 확인
    • import mimetypes; print(mimetypes.guess_type('toolbar.js')); 를 수행하셨을 때 text/plain이 출력되는지 확인한다.
  • 레지스트리 편집기
    • HKEY_LOCAL_MACHINE\SOFTWARE\Classes.js 혹은 HKEY_CLASSES_ROOT.js 에서 Content Type 항목이 text/plain으로 세팅되어 있다면, 이 값을 application/javascript로 변경한다.
  • 크롬 브라우저에서 강력 새로고침을 한다.
    • 개발자 도구를 띄운 뒤에, 새로고침 아이콘을 우클릭하면 메뉴가 나타난다.

 

5. 정상적인 실행 화면

 

주의사항

  • 웹페이지의 템플릿에 필히 "<body>"태그가 있어야만, django-debug-toolbar가 작동된다.
    • dbt의 html/script 디폴트 주입 타겟이 </body> 태그

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

[Django] HTTP 상태코드 응답  (0) 2022.05.24
[Django] ForeignKey  (0) 2022.05.17
[Django] django extensions shell_plus 사용하기  (0) 2022.05.16
[Django] 장고 모델(ORM)  (0) 2022.05.11
[DRF] simple-jwt와 cumstom user  (0) 2022.03.27
    'DevOps/Django' 카테고리의 다른 글
    • [Django] HTTP 상태코드 응답
    • [Django] ForeignKey
    • [Django] django extensions shell_plus 사용하기
    • [Django] 장고 모델(ORM)
    bestwish
    bestwish

    티스토리툴바