aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--debug_toolbar/models.py17
-rw-r--r--example/settings.py10
-rw-r--r--tests/settings.py10
3 files changed, 12 insertions, 25 deletions
diff --git a/debug_toolbar/models.py b/debug_toolbar/models.py
index 3bdb639..397771f 100644
--- a/debug_toolbar/models.py
+++ b/debug_toolbar/models.py
@@ -7,18 +7,16 @@ from debug_toolbar.toolbar.loader import load_panel_classes
from debug_toolbar.middleware import DebugToolbarMiddleware
-for middleware_path in settings.MIDDLEWARE_CLASSES:
+def is_toolbar_middleware(middleware_path):
# Replace this with import_by_path in Django >= 1.6.
try:
mod_path, cls_name = middleware_path.rsplit('.', 1)
mod = import_module(mod_path)
middleware_cls = getattr(mod, cls_name)
except (AttributeError, ImportError, ValueError):
- continue
+ return
+ return issubclass(middleware_cls, DebugToolbarMiddleware)
- if issubclass(middleware_cls, DebugToolbarMiddleware):
- load_panel_classes()
- break
def prepend_to_setting(setting_name, value):
"""Insert value at the beginning of a list or tuple setting."""
@@ -31,3 +29,12 @@ def prepend_to_setting(setting_name, value):
if not settings.INTERNAL_IPS:
prepend_to_setting('INTERNAL_IPS', '127.0.0.1')
prepend_to_setting('INTERNAL_IPS', '::1')
+
+
+if not any(is_toolbar_middleware(middleware)
+ for middleware in settings.MIDDLEWARE_CLASSES):
+ prepend_to_setting('MIDDLEWARE_CLASSES',
+ 'debug_toolbar.middleware.DebugToolbarMiddleware')
+
+
+load_panel_classes()
diff --git a/example/settings.py b/example/settings.py
index 5f22afa..1eba309 100644
--- a/example/settings.py
+++ b/example/settings.py
@@ -25,16 +25,6 @@ INSTALLED_APPS = (
'debug_toolbar',
)
-MIDDLEWARE_CLASSES = (
- 'debug_toolbar.middleware.DebugToolbarMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.middleware.common.CommonMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- 'django.middleware.clickjacking.XFrameOptionsMiddleware',
-)
-
ROOT_URLCONF = 'example.urls'
STATIC_URL = '/static/'
diff --git a/tests/settings.py b/tests/settings.py
index 309147f..33058f2 100644
--- a/tests/settings.py
+++ b/tests/settings.py
@@ -22,16 +22,6 @@ INSTALLED_APPS = (
'tests',
)
-MIDDLEWARE_CLASSES = (
- 'debug_toolbar.middleware.DebugToolbarMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.middleware.common.CommonMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- 'django.middleware.clickjacking.XFrameOptionsMiddleware',
-)
-
ROOT_URLCONF = 'tests.urls'
STATIC_URL = '/static/'