File tree Expand file tree Collapse file tree 1 file changed +28
-1
lines changed Expand file tree Collapse file tree 1 file changed +28
-1
lines changed Original file line number Diff line number Diff line change 1+ from django .conf import settings
2+ from django .utils .importlib import import_module
3+
14from debug_toolbar .toolbar .loader import load_panel_classes
5+ from debug_toolbar .middleware import DebugToolbarMiddleware
6+
7+ loaded = False
8+
9+
10+ def is_toolbar (cls ):
11+ return (issubclass (cls , DebugToolbarMiddleware ) or
12+ DebugToolbarMiddleware in getattr (cls , '__bases__' , ()))
13+
14+
15+ def iter_toolbar_middlewares ():
16+ global loaded
17+ for middleware_path in settings .MIDDLEWARE_CLASSES :
18+ try :
19+ mod_path , cls_name = middleware_path .rsplit ('.' , 1 )
20+ mod = import_module (mod_path )
21+ middleware_cls = getattr (mod , cls_name )
22+ except (AttributeError , ImportError , ValueError ):
23+ continue
24+ if is_toolbar (middleware_cls ) and not loaded :
25+ # we have a hit!
26+ loaded = True
27+ yield middleware_cls
228
3- load_panel_classes ()
29+ for middleware_cls in iter_toolbar_middlewares ():
30+ load_panel_classes ()
You can’t perform that action at this time.
0 commit comments