有没有办法在查看模板时使用/启动控制台(使用Django Debug Toolbar)?

时间:2012-03-28 07:03:11

标签: django django-templates django-debug-toolbar

我喜欢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>>'}

对于formmessagesrequest等变量,此列表信息量不大。有没有办法深入挖掘并查看这些变量的所有可能属性?有点像playing with the API使用python manage.py shell作为模板?

2 个答案:

答案 0 :(得分:2)

您可以使用Django-Debug-Template更有效地执行此操作:https://github.com/t0ster/django-debug-template

首先按{%load debug%}加载模板调试器。

然后通过{{var | ipdb}}

从特定变量的模板中删除shell

答案 1 :(得分:1)

您无法使用django-debug-toolbar执行此操作,但如果安装django-extensions,则可以使用runserver_plus命令。这将使用werkzug调试器替换默认的异常/调试屏幕,使您可以访问交互式shell。

Check out a tutorial here