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 |