diff options
| author | Rob Hudson | 2008-09-07 12:20:56 -0700 |
|---|---|---|
| committer | Rob Hudson | 2008-09-07 12:20:56 -0700 |
| commit | b4f14501ca759a7bdcc553c3c97a60819f904cdc (patch) | |
| tree | 1efc4a330ec65464a7914d422fea662896bd468b | |
| parent | 5d2f897d45736b441024cbcdc720e9d8826e2afe (diff) | |
| download | django-debug-toolbar-b4f14501ca759a7bdcc553c3c97a60819f904cdc.tar.bz2 | |
Fixed a bug where the toolbar may have not been instantiated on request but
tried to access it on response.
| -rw-r--r-- | debug_toolbar/middleware.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/debug_toolbar/middleware.py b/debug_toolbar/middleware.py index 57222c5..870dbb8 100644 --- a/debug_toolbar/middleware.py +++ b/debug_toolbar/middleware.py @@ -18,14 +18,21 @@ class DebugToolbarMiddleware(object): def __init__(self): self.debug_toolbar = None + def show_toolbar(self, request): + if not settings.DEBUG: + return False + if not request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS: + return False + return True + def process_request(self, request): - if settings.DEBUG and request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS: + if self.show_toolbar(request): self.debug_toolbar = DebugToolbar(request) self.debug_toolbar.load_panels() return None def process_response(self, request, response): - if settings.DEBUG: + if self.show_toolbar(request): if response['Content-Type'].split(';')[0] in _HTML_TYPES and not request.is_ajax(): #response.content = _END_HEAD_RE.sub(mark_safe(self.debug_toolbar.render_styles() + "%s" % match.group()), response.content) response.content = _END_BODY_RE.sub(mark_safe(self.debug_toolbar.render_toolbar() + '</body>'), response.content) |
