IT TIP

Django 디버그는 페이지의 모든 변수를 표시합니다.

itqueen 2020. 10. 22. 23:48
반응형

Django 디버그는 페이지의 모든 변수를 표시합니다.


페이지에서 사용 가능한 모든 변수를 표시하는 데 사용할 수있는 템플릿 태그 (또는 다른 트릭)가 있습니까?


DEBUG 가 활성화 된 경우 {% debug %} 라는 템플릿 태그가 있습니다.


몇 가지 옵션이 있습니다 (일부는 이전에 이미 나열되어 있음).

  1. django 내장 디버그 태그 -이 보일러 플레이트를 사용하여 제대로 표시합니다.

    <pre> {% filter force_escape %} {% debug %} {% endfilter %} </ pre>

  2. 속성, 변수 및 세부 정보와 같은 django 템플릿 디버그 애플리케이션의 태그를 사용 하거나 pdb 디버거 (또는 ipdb)로 모든 것을 검사 할 수있는 템플릿 내부에 중단 점을 설정할 수도 있습니다.

  3. Django 디버그 툴바 - 이 목적을위한 템플릿 패널 이 있습니다.

일반적으로 모든 디버그 기능은 앱이 DEBUG 모드 일 때만 작동 합니다.


프로 팁. 더 쉬운 복사-붙여 넣기를 위해 사용 textarea및 자동 선택 onclick:

<textarea onclick="this.focus();this.select()" style="width: 100%;"> {% filter force_escape %} {% debug %} {% endfilter %}</textarea>

디버그 도구 모음 이 모든 것을 수행하고 훨씬, 훨씬 더. 자세한 내용은 스크린 캐스트참조하십시오 . 말 그대로 변수 만 원한다면 시도해 볼 수 있습니다.

assert False, locals()

당신의 관점에서


더 나은 보상을 제공하는 약간 더 복잡한 솔루션은 django-debug-toolbar 를로드하는 것입니다 ( 여기 문서 ).

'컨텍스트 전환'에 대한 또 다른 옵션과 함께 '템플릿'이라는 옵션이 있으며 템플릿에 전달 된 모든 변수와 템플릿 뒤에있는 코드를 볼 수있는 기능을 볼 수 있습니다.

django-debug-toolbar 템플릿 디버깅의 예


전문 버전의 pycharm을 사용하는 경우 템플릿 파일의 일부 줄에 중단 점을 설정하고 변수 값을 볼 수 있습니다.

자세한 내용은이 링크를 참조하십시오. https://www.jetbrains.com/help/pycharm/debugging-django-templates.html

참고 URL : https://stackoverflow.com/questions/2213977/django-debug-display-all-variables-of-a-page

반응형