Django debug wyświetla wszystkie zmienne strony
Czy istnieje znacznik szablonu (lub inna sztuczka), którego mogę użyć do wyświetlenia wszystkich zmiennych dostępnych na stronie?
6 answers
Jeśli DEBUG jest włączony, istnieje znacznik szablonu o nazwie {% debug %}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-06 18:55:35
Istnieje kilka opcji (niektóre z nich są już wymienione wcześniej):
-
Django builtin debug tag - używam tego boilerplate, aby wyświetlić go poprawnie:
{%filter force_escape %} {%debug %} {%endfilter %}
-
Użyj django template debug znaczników aplikacji, takich jak atrybuty, zmienne i szczegóły lub możesz nawet ustawić punkt przerwania wewnątrz szablonu, gdzie możesz sprawdzić wszystko zpdb debugger (lub ipdb)
-
Django debug toolbar - posiada do tego celu panel szablonów
Zazwyczaj wszystkie funkcje debugowania działają tylko wtedy, gdy aplikacja jest w trybie debugowania .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-05 10:02:05
Pasek narzędzi debugowania robi to wszystko i wiele, wiele więcej. Zobacz screencast aby dowiedzieć się więcej. Jeśli dosłownie chcesz tylko zmiennych, możesz spróbować
assert False, locals()
In your view
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-26 11:54:14
Pro tip. Użyj textarea
i auto select onclick
dla łatwiejszego kopiowania i wklejania:
<textarea onclick="this.focus();this.select()" style="width: 100%;"> {% filter force_escape %} {% debug %} {% endfilter %}</textarea>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-09 21:58:56
Nieco bardziej złożonym rozwiązaniem z lepszymi nagrodami jest załadowanie django-debug-toolbar (documentation here)
Istnieje opcja o nazwie "szablony" z inną opcją "przełączania kontekstu" i możesz zobaczyć wszystkie zmienne przekazywane do szablonu, a także możliwość zobaczenia kodu za szablonem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-20 02:49:55
Jeśli używasz pycharm w wersji professional, możesz ustawić punkty przerwania w niektórych wierszach w pliku szablonu i wyświetlić wartość zmiennej.
Aby uzyskać więcej szczegółów, kliknij ten link. https://www.jetbrains.com/help/pycharm/debugging-django-templates.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-20 13:31:52