Skip to content

Commit d90128b

Browse files
committed
Merge branch 'fix_templates_panel_issues' of github.com:kezabelle/django-debug-toolbar
* 'fix_templates_panel_issues' of github.com:kezabelle/django-debug-toolbar: Fix issue where evaluating `value` might cause side-effects above-and-beyond triggering a DB query. This is most prevalent with objects like Forms, whose default __str__ renders the form, and causes things like full_clean to take place when they otherwise wouldn't. In an ideal world we'd use repr() directly, as it is SUPER fast by comparison. saferepr offers a happier middleground between repr() and pformat().
2 parents 48a825a + 06bafad commit d90128b

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

debug_toolbar/panels/templates/panel.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from collections import OrderedDict
44
from contextlib import contextmanager
55
from os.path import normpath
6-
from pprint import pformat
6+
from pprint import pformat, saferepr
77

88
from django import http
99
from django.conf.urls import url
@@ -126,7 +126,7 @@ def _store_template_info(self, sender, **kwargs):
126126
else:
127127
try:
128128
recording(False)
129-
force_text(value) # this MAY trigger a db query
129+
saferepr(value) # this MAY trigger a db query
130130
except SQLQueryTriggered:
131131
temp_layer[key] = '<<triggers database query>>'
132132
except UnicodeEncodeError:

0 commit comments

Comments
 (0)