Skip to content

Commit 4068382

Browse files
committed
Optionally render js/css
1 parent 97330ee commit 4068382

File tree

3 files changed

+24
-3
lines changed

3 files changed

+24
-3
lines changed

debug_toolbar/templates/debug_toolbar/base.html

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
{% load i18n static %}
22
{% block css %}
3-
<link rel="stylesheet" href="{% static 'debug_toolbar/css/print.css' %}" media="print">
4-
<link rel="stylesheet" href="{% static 'debug_toolbar/css/toolbar.css' %}">
3+
{% if toolbar.should_render_css %}
4+
<link rel="stylesheet" href="{% static 'debug_toolbar/css/print.css' %}" media="print">
5+
<link rel="stylesheet" href="{% static 'debug_toolbar/css/toolbar.css' %}">
6+
{% endif %}
57
{% endblock %}
68
{% block js %}
7-
<script type="module" src="{% static 'debug_toolbar/js/toolbar.js' %}" async></script>
9+
{% if toolbar.should_render_js %}
10+
<script type="module" src="{% static 'debug_toolbar/js/toolbar.js' %}" async></script>
11+
{% endif %}
812
{% endblock %}
913
<div id="djDebug" class="djdt-hidden" dir="ltr"
1014
{% if not toolbar.should_render_panels %}

debug_toolbar/toolbar.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ def __init__(self, request, get_response):
3434
self.stats = {}
3535
self.server_timing_stats = {}
3636
self.store_id = None
37+
self.should_render_css = self.should_render_js = True
3738

3839
# Manage panels
3940

tests/test_integration.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,22 @@ def get_response(request):
105105
response = DebugToolbarMiddleware(get_response)(self.request)
106106
self.assertEqual(response.content, b"<html><body></body></html>")
107107

108+
def test_optional_js_css(self):
109+
def get_response(request):
110+
return regular_view(request, "tuturu")
111+
112+
class NoStaticMiddleware(DebugToolbarMiddleware):
113+
def configure_toolbar(self, request, toolbar):
114+
toolbar.should_render_js = toolbar.should_render_css = False
115+
116+
response = DebugToolbarMiddleware(get_response)(self.request)
117+
self.assertContains(response, b"<link")
118+
self.assertContains(response, b"<script")
119+
120+
response = NoStaticMiddleware(get_response)(self.request)
121+
self.assertNotContains(response, b"<link")
122+
self.assertNotContains(response, b"<script")
123+
108124
def test_cache_page(self):
109125
# Clear the cache before testing the views. Other tests that use cached_view
110126
# may run earlier and cause fewer cache calls.

0 commit comments

Comments
 (0)