Есть ли способ использовать / вызывать консоль при просмотре шаблонов (используя Django Debug Toolbar)? - PullRequest
1 голос
/ 28 марта 2012

Мне нравится Django Debug Toolbar , и я в основном использую его только для того, чтобы увидеть переменные, переданные в шаблон (показанный на вкладке "Шаблоны" в правом меню).

Но переменные показаны так

{'form': <django.forms.models.OrderForm object at 0x1033937d0>}
{'csrf_token': <django.utils.functional.__proxy__ object at 0x103394cd0>}
{'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x103393510>,
 'user': <django.utils.functional.SimpleLazyObject object at 0x10339b690>}
{'debug': True, 'sql_queries': '<<sql_queries>>'}
{'LANGUAGES': '<<languages>>',
 'LANGUAGE_BIDI': False,
 'LANGUAGE_CODE': 'en-us'}
{'MEDIA_URL': ''}
{'STATIC_URL': '/static/'}
{'TIME_ZONE': 'EDT'}
{'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x10339bb90>}
{'request': '<<request>>'}

Для таких переменных, как form, messages и request, этот список не очень информативен. Есть ли способ копать глубже и просматривать все возможные атрибуты для таких переменных? Вроде как играть с API , используя python manage.py shell для шаблонов?

Ответы [ 2 ]

2 голосов
/ 07 ноября 2012

Вы можете сделать это более эффективно, используя Django-Debug-Template: https://github.com/t0ster/django-debug-template

Просто сначала загрузите отладчик шаблонов с помощью {% load debug%}.

Затем удалите оболочку из шаблоновдля определенной переменной {{var | ipdb}}

1 голос
/ 28 марта 2012

Вы не можете сделать это с помощью django-debug-toolbar, но если вы установите django-extensions, вы можете использовать команду runserver_plus.Это заменяет экран исключений / отладки по умолчанию на отладчик werkzug, который дает вам доступ к интерактивной оболочке.

Ознакомьтесь с учебником здесь

...