webentwicklung-frage-antwort-db.com.de

Django Debug zeigt alle Variablen einer Seite an

Gibt es ein Template-Tag (oder einen anderen Trick), mit dem ich alle auf einer Seite verfügbaren Variablen anzeigen kann?

67
eaman

Wenn DEBUG aktiviert ist, gibt es ein template-Tag namens {% debug%}

102
Keryn Knight

Es gibt mehrere Optionen (einige davon bereits zuvor aufgeführt):

  1. Django Builtin Debug Tag - Ich benutze diese Boilerplate, um sie richtig anzuzeigen:

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

  2. Verwenden Sie Django template debug application Tags wie Attribute, Variablen und Details oder Sie können sogar einen Haltepunkt setzen innerhalb einer Vorlage, wo Sie alles mit pdb debugger (oder ipdb) überprüfen können )

  3. Die Debug-Symbolleiste von Django - hat für diesen Zweck ein Vorlagenfeld

Normalerweise funktionieren alle Debug-Funktionen nur, wenn sich die App im Modus DEBUG befindet.

72
Robert Lujo

Profi-Tipp. Verwenden Sie textarea und wählen Sie automatisch onclick aus, um das Kopieren und Einfügen zu erleichtern:

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

Die debug-Symbolleiste erledigt all dies und vieles mehr. Weitere Informationen finden Sie im screencast . Wenn Sie die Variablen buchstäblich wollen, können Sie es versuchen

assert False, locals()

aus deiner Sicht

10
Tom

Eine etwas komplexere Lösung mit besseren Belohnungen ist das Laden der Django-Debug-Toolbar (Dokumentation hier ).

Es gibt eine Option namens "Templates" mit einer weiteren Option zum "Toggle context" und Sie können alle an Ihre Vorlage übergebenen Variablen sowie die Möglichkeit sehen, den hinter der Vorlage befindlichen Code anzuzeigen.

Example of Django-debug-toolbar template debugging

6

Wenn Sie pycharm der Professional-Version verwenden, können Sie in einigen Zeilen einer Vorlagendatei Haltepunkte setzen und den Variablenwert anzeigen.

Für weitere Informationen folgen Sie diesem Link. https://www.jetbrains.com/help/pycharm/debugging-Django-templates.html

0
W.Perrin