diff options
| -rw-r--r-- | debug_toolbar/models.py | 17 | ||||
| -rw-r--r-- | example/settings.py | 10 | ||||
| -rw-r--r-- | tests/settings.py | 10 | 
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/' | 
