Y at-il une balise de modèle (ou toute autre astuce) que je peux utiliser pour afficher toutes les variables disponibles dans une page?
Si DEBUG est activé, il existe une balise template appelée {% debug%}
Il y a plusieurs options (certaines d'entre elles ont déjà été listées auparavant):
Django builtin balise de débogage - J'utilise ce passe-partout pour l'afficher correctement:
<pre> {% filter force_escape%} {% debug%} {% endfilter%} </ pre>
Utilisez Django template debug les tags de l'application tels que les attributs, les variables et les détails ou vous pouvez même définir un point d'arrêt à l'intérieur d'un modèle où vous pouvez tout inspecter avec pdb debugger )
La barre d’outils de débogage de Django - dispose d’un panneau modèle à cet effet
En général, toutes les fonctionnalités de débogage ne fonctionnent que lorsque l'application est en mode DEBUG .
Astuce Pro. Utilisez textarea
et sélectionnez auto onclick
pour un copier-coller plus facile:
<textarea onclick="this.focus();this.select()" style="width: 100%;"> {% filter force_escape %} {% debug %} {% endfilter %}</textarea>
La barre d'outils debug fait tout cela et bien plus encore. Voir le screencast pour plus. Si vous voulez littéralement juste les variables, vous pouvez essayer
assert False, locals()
à votre avis
Une solution légèrement plus complexe et plus rentable consiste à charger Django-debug-toolbar (documentation here )
Il existe une option appelée "Modèles" avec une autre option pour "Basculer le contexte" et vous pouvez voir toutes les variables transmises à votre modèle, ainsi que la possibilité de voir le code derrière le modèle.
Si vous utilisez pycharm of professional version, vous pouvez définir des points d'arrêt sur certaines lignes d'un fichier de modèle et afficher la valeur de la variable.
Pour plus de détails, suivez ce lien. https://www.jetbrains.com/help/pycharm/debugging-Django-templates.html