aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/middleware.py
diff options
context:
space:
mode:
authorAlex Gaynor2009-03-27 09:16:27 -0500
committerAlex Gaynor2009-03-27 09:16:27 -0500
commitf1a18353afd9876bc4f5f642f187581496530039 (patch)
treeb528e2cc72aa562b2ee2e091ba8a0cda8282bbd1 /debug_toolbar/middleware.py
parent671bac94182b000be3960dc7c83e89ccef7ccf26 (diff)
parentb9b0cbe718c6a1736af1fa86452ffc4af28b64f4 (diff)
downloaddjango-debug-toolbar-f1a18353afd9876bc4f5f642f187581496530039.tar.bz2
Merge commit 'rob/master'
Diffstat (limited to 'debug_toolbar/middleware.py')
-rw-r--r--debug_toolbar/middleware.py21
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