Debugowanie Django wyświetla wszystkie zmienne strony


Odpowiedzi:



85

Istnieje kilka opcji (niektóre z nich zostały już wymienione wcześniej):

  1. Wbudowany tag debugowania django - używam tego standardowego szablonu, aby go poprawnie wyświetlić:

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

  2. Użyj tagów aplikacji do debugowania szablonów django , takich jak atrybuty, zmienne i szczegóły, lub możesz nawet ustawić punkt przerwania w szablonie, w którym możesz sprawdzić wszystko za pomocą debugera pdb (lub ipdb)

  3. Pasek narzędzi debugowania Django - posiada do tego panel szablonów

Zwykle wszystkie funkcje debugowania działają tylko wtedy, gdy aplikacja jest w trybie DEBUG .


16

Wskazówka dla profesjonalistów. Użyj textareai wybierz automatycznie onclickdla łatwiejszego kopiowania i wklejania:

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

10

Pasek debugowania to wszystko to i wiele, wiele więcej. Zobacz prezentację, aby dowiedzieć się więcej. Jeśli chcesz mieć tylko zmienne, możesz spróbować

assert False, locals()

Twoim zdaniem


Thnaks. Ponieważ używam widoku ogólnego, czy istnieje sposób na wezwanie „assert False, locals ()”
eaman

chłopaki, mam zainstalowany i działający pasek narzędzi do debugowania, ale nie wyświetla wszystkich dostępnych dla mnie zmiennych w szablonie ... brakuje mi czegoś ... gdzie to assert false, locals () idą i co dokładnie robi ?
Derek Organ

Jeśli napisałeś widok niestandardowy, po prostu umieść go pod koniec widoku. Jeśli używasz widoku ogólnego, musisz go opakować we własnym widoku. W każdym razie myślę, że to zadziała.
Tom

8

Nieco bardziej złożonym rozwiązaniem z lepszymi nagrodami jest załadowanie paska narzędzi django-debug (dokumentacja tutaj )

Dostępna jest opcja o nazwie „Szablony” z inną opcją „Przełącz kontekst”, dzięki której można zobaczyć wszystkie zmienne przekazane do szablonu, a także kod znajdujący się za szablonem.

Przykład debugowania szablonu django-debug-toolbar


Dostaję '<<triggers database query>>'jako wartość
stephen

Przeczytałbym dokumentację, a jeśli to się nie powiedzie, poszedłbym do projektu django-debug-toolbar i poprosiłbym o pomoc: github.com/jazzband/django-debug-toolbar
Aaron C. de Bruyn

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.