aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/middleware.py
diff options
context:
space:
mode:
Diffstat (limited to 'debug_toolbar/middleware.py')
-rw-r--r--debug_toolbar/middleware.py19
1 files changed, 8 insertions, 11 deletions
diff --git a/debug_toolbar/middleware.py b/debug_toolbar/middleware.py
index 11ff4dd..c3cf5f9 100644
--- a/debug_toolbar/middleware.py
+++ b/debug_toolbar/middleware.py
@@ -8,6 +8,8 @@ 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')
@@ -37,24 +39,19 @@ class DebugToolbarMiddleware(object):
def show_toolbar(self, request):
if not settings.DEBUG:
return False
- if request.is_ajax():
+ 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 not request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS:
return False
return True
def process_request(self, request):
- if not hasattr(request, 'user'):
- import warnings
- warnings.warn("You should place the debug_toolbar middleware after \
- the AuthenticationMiddleware, if you aren't using django's auth\
- app you can safely ignore this message.")
- if self.override_url:
- debug_toolbar.urls.urlpatterns += self.original_pattern
- self.override_url = False
- request.urlconf = 'debug_toolbar.urls'
-
if self.show_toolbar(request):
+ if self.override_url:
+ debug_toolbar.urls.urlpatterns += self.original_pattern
+ self.override_url = False
+ request.urlconf = 'debug_toolbar.urls'
+
self.debug_toolbar = DebugToolbar(request)
for panel in self.debug_toolbar.panels:
panel.process_request(request)