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 /debug_toolbar/middleware.py | |
| 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.
Diffstat (limited to 'debug_toolbar/middleware.py')
| -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) | 
