aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/panels/template.py
diff options
context:
space:
mode:
authorRob Hudson2008-09-18 13:43:13 -0700
committerRob Hudson2008-09-18 13:43:13 -0700
commite40b2c0fbdbd932be5f9d0550a16b6652de0d38d (patch)
treef26f3c7456c6f3c47cb168472f1994c449c24b60 /debug_toolbar/panels/template.py
parent816889b61cdd8bd1380009cfc755f9f655406e5c (diff)
downloaddjango-debug-toolbar-e40b2c0fbdbd932be5f9d0550a16b6652de0d38d.tar.bz2
I noticed the template_rendered signal from the test suite also passed context,
so I'm including the context with each template in the Template panel. This should make the designers happy.
Diffstat (limited to 'debug_toolbar/panels/template.py')
-rw-r--r--debug_toolbar/panels/template.py28
1 files changed, 19 insertions, 9 deletions
diff --git a/debug_toolbar/panels/template.py b/debug_toolbar/panels/template.py
index f1cf65b..f02b673 100644
--- a/debug_toolbar/panels/template.py
+++ b/debug_toolbar/panels/template.py
@@ -32,11 +32,11 @@ class TemplateDebugPanel(DebugPanel):
def __init__(self, request):
super(TemplateDebugPanel, self).__init__(request)
- self.templates_used = []
- template_rendered.connect(self._storeRenderedTemplates)
+ self.templates = []
+ template_rendered.connect(self._storeTemplateInfo)
- def _storeRenderedTemplates(self, sender, **kwargs):
- self.templates_used.append(kwargs['template'])
+ def _storeTemplateInfo(self, sender, **kwargs):
+ self.templates.append(kwargs)
def title(self):
return 'Templates'
@@ -45,12 +45,22 @@ class TemplateDebugPanel(DebugPanel):
return ''
def content(self):
- templates = [
- (t.name, t.origin and t.origin.name or 'No origin')
- for t in self.templates_used
- ]
+ template_context = []
+ for i, d in enumerate(self.templates):
+ info = {}
+ # Clean up some info about templates
+ t = d.get('template', None)
+ if t.origin and t.origin.name:
+ t.origin_name = t.origin.name
+ else:
+ t.origin_name = 'No origin'
+ info['template'] = t
+ # Clean up context for better readability
+ c = d.get('context', None)
+ info['context'] = '\n'.join([_d.__repr__() for _d in c.dicts])
+ template_context.append(info)
context = {
- 'templates': templates,
+ 'templates': template_context,
'template_dirs': settings.TEMPLATE_DIRS,
}
return render_to_string('debug_toolbar/panels/templates.html', context)