diff options
| author | Aymeric Augustin | 2013-10-18 22:34:29 +0200 | 
|---|---|---|
| committer | Aymeric Augustin | 2013-10-18 22:34:29 +0200 | 
| commit | d112cc5ed14fa97eb187aa7f0b38318ea03d77dc (patch) | |
| tree | 9b2834cf02ce0062cb161bbb1379525569b31483 /debug_toolbar | |
| parent | d3d5b492543ed0fa42914152178df88b59496fe7 (diff) | |
| download | django-debug-toolbar-d112cc5ed14fa97eb187aa7f0b38318ea03d77dc.tar.bz2 | |
Make show_toolbar available for easier customization.
Thanks Ned Batchelder for the suggestion.
Fix #324.
Diffstat (limited to 'debug_toolbar')
| -rw-r--r-- | debug_toolbar/middleware.py | 24 | 
1 files changed, 14 insertions, 10 deletions
| diff --git a/debug_toolbar/middleware.py b/debug_toolbar/middleware.py index 29da751..214d895 100644 --- a/debug_toolbar/middleware.py +++ b/debug_toolbar/middleware.py @@ -34,6 +34,19 @@ def replace_insensitive(string, target, replacement):          return string +def show_toolbar(request): +    """ +    Default function to determine whether to show the toolbar on a given page. +    """ +    if getattr(settings, 'TEST', False): +        return False + +    if request.META.get('REMOTE_ADDR', None) not in settings.INTERNAL_IPS: +        return False + +    return bool(settings.DEBUG) + +  class DebugToolbarMiddleware(object):      """      Middleware to set up Debug Toolbar on incoming request and render toolbar @@ -49,7 +62,7 @@ class DebugToolbarMiddleware(object):          self._urlconfs = {}          # Set method to use to decide to show toolbar -        self.show_toolbar = self._show_toolbar  # default +        self.show_toolbar = show_toolbar          # The tag to attach the toolbar to          self.tag = '</body>' @@ -64,15 +77,6 @@ class DebugToolbarMiddleware(object):              if tag:                  self.tag = '</' + tag + '>' -    def _show_toolbar(self, request): -        if getattr(settings, 'TEST', False): -            return False - -        remote_addr = request.META.get('REMOTE_ADDR', None) - -        # if not internal ip, and not DEBUG -        return remote_addr in settings.INTERNAL_IPS and bool(settings.DEBUG) -      def process_request(self, request):          __traceback_hide__ = True          if self.show_toolbar(request): | 
