diff options
| author | Aymeric Augustin | 2013-11-11 13:42:33 +0100 |
|---|---|---|
| committer | Aymeric Augustin | 2013-11-11 13:42:33 +0100 |
| commit | 0b9367398e86a2b50b0e2b12d9ec05e4a25bc7ee (patch) | |
| tree | bd04a1439c52eb661c4b2b3c8abcc1af7a0e6aca /debug_toolbar | |
| parent | 4a1451742bfa2a42ba5ec82bfa741c6644ba3807 (diff) | |
| download | django-debug-toolbar-0b9367398e86a2b50b0e2b12d9ec05e4a25bc7ee.tar.bz2 | |
Automatically enable DebugToolbarMiddleware when it isn't enabled.
Diffstat (limited to 'debug_toolbar')
| -rw-r--r-- | debug_toolbar/models.py | 17 |
1 files changed, 12 insertions, 5 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() |
