File tree Expand file tree Collapse file tree 2 files changed +32
-1
lines changed
debug_toolbar/panels/templates Expand file tree Collapse file tree 2 files changed +32
-1
lines changed Original file line number Diff line number Diff line change @@ -21,7 +21,13 @@ def template_source(request):
21
21
for loader_name in settings .TEMPLATE_LOADERS :
22
22
loader = find_template_loader (loader_name )
23
23
if loader is not None :
24
- loaders .append (loader )
24
+ # When the loader has loaders associated with it,
25
+ # append those loaders to the list. This occurs with
26
+ # django.template.loaders.cached.Loader
27
+ if hasattr (loader , 'loaders' ):
28
+ loaders += loader .loaders
29
+ else :
30
+ loaders .append (loader )
25
31
for loader in loaders :
26
32
try :
27
33
source , display_name = loader .load_template_source (template_name )
Original file line number Diff line number Diff line change @@ -159,3 +159,28 @@ def test_expired_store(self):
159
159
error = WebDriverWait (self .selenium , timeout = 10 ).until (
160
160
lambda selenium : version_panel .find_element_by_tag_name ('p' ))
161
161
self .assertIn ("Data for this panel isn't available anymore." , error .text )
162
+
163
+ @override_settings (TEMPLATE_LOADERS = [(
164
+ 'django.template.loaders.cached.Loader' , (
165
+ 'django.template.loaders.filesystem.Loader' ,
166
+ 'django.template.loaders.app_directories.Loader' ,
167
+ ),
168
+ )])
169
+ def test_django_cached_template_loader (self ):
170
+ self .selenium .get (self .live_server_url + '/regular/basic/' )
171
+ version_panel = self .selenium .find_element_by_id ('TemplatesPanel' )
172
+
173
+ # Click to show the versions panel
174
+ self .selenium .find_element_by_class_name ('TemplatesPanel' ).click ()
175
+
176
+ # Version panel loads
177
+ trigger = WebDriverWait (self .selenium , timeout = 10 ).until (
178
+ lambda selenium : version_panel .find_element_by_css_selector (
179
+ '.remoteCall' ))
180
+ trigger .click ()
181
+
182
+ # Verify the code is displayed
183
+ WebDriverWait (self .selenium , timeout = 10 ).until (
184
+ lambda selenium : self .selenium .find_element_by_css_selector (
185
+ '#djDebugWindow code' ))
186
+
You can’t perform that action at this time.
0 commit comments