Das Django-Debug zeigt alle Variablen einer Seite an


81

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

Antworten:



83

Es gibt verschiedene Optionen (von denen einige bereits zuvor aufgeführt sind):

  1. Django Builtin Debug Tag - Ich benutze dieses Boilerplate, um es richtig anzuzeigen:

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

  2. Verwenden Sie die Tags der Django-Vorlagen-Debug- Anwendung wie Attribute, Variablen und Details, oder setzen Sie einen Haltepunkt innerhalb einer Vorlage, an dem Sie alles mit dem pdb- Debugger (oder der ipdb) überprüfen können.

  3. Django Debug-Symbolleiste - verfügt über ein Vorlagenfenster für diesen Zweck

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


15

Profi-Tipp. Verwenden textareaund automatische Auswahl onclickzum einfacheren Kopieren und Einfügen:

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

10

Die Debug-Symbolleiste bietet all dies und noch viel mehr. Weitere Informationen finden Sie im Screencast . Wenn Sie buchstäblich nur die Variablen wollen, können Sie es versuchen

assert False, locals()

aus Ihrer Sicht


Thnaks. Da ich eine generische Ansicht verwende, gibt es eine Möglichkeit, einen "
Assert

Leute, ich habe die Debug-Symbolleiste installiert und funktioniert, aber sie zeigt nicht alle Variablen an, die mir in der Vorlage zur Verfügung stehen. Fehlt mir etwas? ?
Derek Organ

Wenn Sie eine benutzerdefinierte Ansicht geschrieben haben, platzieren Sie sie einfach am Ende Ihrer Ansicht. Wenn Sie eine generische Ansicht verwenden, müssen Sie sie in Ihre eigene Ansicht einschließen. Ich denke, das würde sowieso funktionieren.
Tom

8

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

Es gibt eine Option namens "Vorlagen" mit einer weiteren Option zum "Umschalten des Kontexts". Sie können alle an Ihre Vorlage übergebenen Variablen sowie den Code hinter der Vorlage anzeigen.

Beispiel für das Debuggen von Django-Debug-Symbolleistenvorlagen


Ich '<<triggers database query>>'
bekomme

Ich würde die Dokumentation lesen und wenn das fehlschlägt, würde ich zum django-debug-toolbar-Projekt gehen und Hilfe anfordern: github.com/jazzband/django-debug-toolbar
Aaron C. de Bruyn

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.