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


83

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

답변:



85

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

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

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

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

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

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


16

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

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

10

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

assert False, locals()

당신의 관점에서


Thnaks. 일반보기를 사용하고 있으므로 "assert False, locals ()"를
호출

여러분, 디버그 도구 모음을 설치하고 작동했지만 템플릿에서 사용할 수있는 모든 변수를 표시하지 않습니다 ... 뭔가 누락 되었나요?이 주장은 false, locals () 어디로 가고 정확히 무엇을하는지 ?
Derek Organ

사용자 정의보기를 작성한 경우보기 끝 부분에 배치하십시오. 일반보기를 사용하는 경우 자체보기로 래핑해야합니다. 어쨌든 효과가 있다고 생각합니다.
Tom

8

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

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

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


나는 점점 오전 '<<triggers database query>>'값으로
스티븐

나는 문서를 읽을 것이며, 실패 할 경우, 나는 장고 디버그 도구 모음 프로젝트 및 요청 도움말을 갈 것입니다 : github.com/jazzband/django-debug-toolbar
아론 C. 드 Bruyn

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.