diff options
| author | Rob Hudson | 2009-01-23 09:31:49 -0800 |
|---|---|---|
| committer | Rob Hudson | 2009-01-23 09:31:49 -0800 |
| commit | 52adaed63ed1d6255f66a0be7abb84dadcf457bb (patch) | |
| tree | 54a29151a7f5693ac701ce2424015633fd2ff72f /debug_toolbar/panels | |
| parent | 356c330e6032f1f858f277e35011bec991bf109e (diff) | |
| download | django-debug-toolbar-52adaed63ed1d6255f66a0be7abb84dadcf457bb.tar.bz2 | |
Fix triggering an extra SQL query via the auth context processor.
Fixed by moving the template panel's context_processor introspection to the
content method so this happens at the process_response time instead of at
process_request time. Since context processors _were_ happening at the
process_response end, it was triggering the query
`user.get_and_delete_messages()` which was also getting triggered separately if
used in templates (i.e. the admin templates) resulting in duplicate queries
showing up in the toolbar.
Diffstat (limited to 'debug_toolbar/panels')
| -rw-r--r-- | debug_toolbar/panels/template.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/debug_toolbar/panels/template.py b/debug_toolbar/panels/template.py index fa85cb8..7dc7b06 100644 --- a/debug_toolbar/panels/template.py +++ b/debug_toolbar/panels/template.py @@ -48,11 +48,15 @@ class TemplateDebugPanel(DebugPanel): return '' def process_request(self, request): - self.context_processors = dict( - [("%s.%s" % (k.__module__, k.__name__), pformat(k(request))) for k in get_standard_processors()] - ) + self.request = request def content(self): + context_processors = dict( + [ + ("%s.%s" % (k.__module__, k.__name__), + pformat(k(self.request))) for k in get_standard_processors() + ] + ) template_context = [] for i, d in enumerate(self.templates): info = {} @@ -73,6 +77,6 @@ class TemplateDebugPanel(DebugPanel): context = { 'templates': template_context, 'template_dirs': [normpath(x) for x in settings.TEMPLATE_DIRS], - 'context_processors': self.context_processors, + 'context_processors': context_processors, } return render_to_string('debug_toolbar/panels/templates.html', context) |
