Skip to content

Commit 944120c

Browse files
authored
Only import the jinja2 instrumentation when jinja2 itself is importable (#1954)
Closes #1949.
1 parent a591d86 commit 944120c

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

debug_toolbar/panels/templates/panel.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from contextlib import contextmanager
2+
from importlib.util import find_spec
23
from os.path import normpath
34
from pprint import pformat, saferepr
45

@@ -14,7 +15,11 @@
1415
from debug_toolbar.panels import Panel
1516
from debug_toolbar.panels.sql.tracking import SQLQueryTriggered, allow_sql
1617
from debug_toolbar.panels.templates import views
17-
from debug_toolbar.panels.templates.jinja2 import patch_jinja_render
18+
19+
if find_spec("jinja2"):
20+
from debug_toolbar.panels.templates.jinja2 import patch_jinja_render
21+
22+
patch_jinja_render()
1823

1924
# Monkey-patch to enable the template_rendered signal. The receiver returns
2025
# immediately when the panel is disabled to keep the overhead small.
@@ -26,8 +31,6 @@
2631
Template.original_render = Template._render
2732
Template._render = instrumented_test_render
2833

29-
patch_jinja_render()
30-
3134
# Monkey-patch to store items added by template context processors. The
3235
# overhead is sufficiently small to justify enabling it unconditionally.
3336

0 commit comments

Comments
 (0)