web-dev-qa-db-fra.com

Django debug affiche toutes les variables d'une page

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?

67
eaman

Si DEBUG est activé, il existe une balise template appelée {% debug%}

102
Keryn Knight

Il y a plusieurs options (certaines d'entre elles ont déjà été listées auparavant):

  1. Django builtin balise de débogage - J'utilise ce passe-partout pour l'afficher correctement:

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

  2. 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 )

  3. 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 .

72
Robert Lujo

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>
11
thevangelist

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

10
Tom

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.

Example of Django-debug-toolbar template debugging

6
Aaron C. de Bruyn

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

0
W.Perrin