¿Existe una etiqueta de plantilla (o algún otro truco) que pueda usar para mostrar todas las variables disponibles en una página?
Si DEBUG está habilitado, hay una etiqueta de plantilla llamada {% debug%}
Hay varias opciones (algunas de ellas ya enumeradas anteriormente):
etiqueta de depuración incorporada de django : uso este texto estándar para mostrarlo correctamente:
<pre> {% filter force_escape%} {% debug%} {% endfilter%} </pre>
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)
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 .
Consejo profesional. Utilice textarea
y seleccione automáticamente onclick
para copiar y pegar más fácilmente:
<textarea onclick="this.focus();this.select()" style="width: 100%;"> {% filter force_escape %} {% debug %} {% endfilter %}</textarea>
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
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.
fuente
'<<triggers database query>>'
como valorSi usa pycharm de la versión profesional, puede establecer puntos de interrupción en algunas líneas en un archivo de plantilla y ver el valor de la variable.
Para más detalles, siga este enlace. https://www.jetbrains.com/help/pycharm/debugging-django-templates.html
fuente