La depuración de Django muestra todas las variables de una página


83

¿Existe una etiqueta de plantilla (o algún otro truco) que pueda usar para mostrar todas las variables disponibles en una página?

Respuestas:



85

Hay varias opciones (algunas de ellas ya enumeradas anteriormente):

  1. etiqueta de depuración incorporada de django : uso este texto estándar para mostrarlo correctamente:

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

  2. Use las etiquetas de la aplicación de depuración de plantillas de django como atributos, variables y detalles o incluso puede establecer un punto de interrupción dentro de una plantilla donde puede inspeccionar todo con pdb debugger (o ipdb)

  3. Barra de herramientas de depuración de Django : tiene un panel de plantilla para este propósito

Por lo general, todas las funciones de depuración solo funcionan cuando la aplicación está en modo DEBUG .


16

Consejo profesional. Utilice textareay seleccione automáticamente onclickpara copiar y pegar más fácilmente:

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

10

La barra de herramientas de depuración hace todo esto y mucho, mucho más. Vea el screencast para más información. Si literalmente solo quiere las variables, puede intentar

assert False, locals()

en tu vista


Gracias. Como estoy usando una visión genérica, hay una manera de convocar a un "falso afirmar, los locales ()"
Eaman

chicos, tengo la barra de herramientas de depuración instalada y funcionando, pero no muestra todas las variables disponibles para mí en la plantilla ... ¿me falta algo ... dónde dice esto falso, locals () y qué hace exactamente ?
Derek Organ

Si ha escrito una vista personalizada, colóquela cerca del final de su vista. Si está utilizando una vista genérica, deberá ajustarla en su propia vista. De todos modos, creo que funcionaría.
Tom

8

Una solución un poco más compleja con mejores recompensas es cargar django-debug-toolbar (documentación aquí )

Hay una opción llamada 'Plantillas' con otra opción para 'Alternar contexto' y puede ver todas las variables pasadas a su plantilla, así como la capacidad de ver el código detrás de la plantilla.

Ejemplo de depuración de plantilla de django-debug-toolbar


Obtengo '<<triggers database query>>'como valor
Stephen

Leería la documentación y, si eso falla, iría al proyecto django-debug-toolbar y solicitaría ayuda: github.com/jazzband/django-debug-toolbar
Aaron C. de Bruyn

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.