diff options
| author | Alex Gaynor | 2009-03-27 09:16:27 -0500 |
|---|---|---|
| committer | Alex Gaynor | 2009-03-27 09:16:27 -0500 |
| commit | f1a18353afd9876bc4f5f642f187581496530039 (patch) | |
| tree | b528e2cc72aa562b2ee2e091ba8a0cda8282bbd1 /debug_toolbar/middleware.py | |
| parent | 671bac94182b000be3960dc7c83e89ccef7ccf26 (diff) | |
| parent | b9b0cbe718c6a1736af1fa86452ffc4af28b64f4 (diff) | |
| download | django-debug-toolbar-f1a18353afd9876bc4f5f642f187581496530039.tar.bz2 | |
Merge commit 'rob/master'
Diffstat (limited to 'debug_toolbar/middleware.py')
| -rw-r--r-- | debug_toolbar/middleware.py | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/debug_toolbar/middleware.py b/debug_toolbar/middleware.py index 9c46079..e4d7494 100644 --- a/debug_toolbar/middleware.py +++ b/debug_toolbar/middleware.py @@ -1,15 +1,16 @@ """ Debug Toolbar middleware """ +import os + from django.conf import settings from django.http import HttpResponseRedirect from django.shortcuts import render_to_response from django.utils.encoding import smart_unicode from django.conf.urls.defaults import include, patterns + import debug_toolbar.urls from debug_toolbar.toolbar.loader import DebugToolbar -from debug_toolbar.urls import DEBUG_TB_URL_PREFIX -import os _HTML_TYPES = ('text/html', 'application/xhtml+xml') @@ -36,11 +37,21 @@ class DebugToolbarMiddleware(object): self.original_pattern = patterns('', ('', include(self.original_urlconf)),) self.override_url = True - def show_toolbar(self, request): + # Set method to use to decide to show toolbar + self.show_toolbar = self._show_toolbar # default + if hasattr(settings, 'DEBUG_TOOLBAR_CONFIG'): + show_toolbar_callback = settings.DEBUG_TOOLBAR_CONFIG.get( + 'SHOW_TOOLBAR_CALLBACK', None) + if show_toolbar_callback: + self.show_toolbar = show_toolbar_callback + + def _show_toolbar(self, request): if not settings.DEBUG: return False - if request.is_ajax() and not request.path.startswith(os.path.join('/', DEBUG_TB_URL_PREFIX)): #Allow ajax requests from the debug toolbar - return False + if request.is_ajax() and not \ + request.path.startswith(os.path.join('/', debug_toolbar.urls._PREFIX)): + # Allow ajax requests from the debug toolbar + return False if not request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS: return False return True |
