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.