Skip to content

Commit bb7ab54

Browse files
committed
Fix display of values in settings panel
1 parent ed400af commit bb7ab54

File tree

4 files changed

+26
-5
lines changed

4 files changed

+26
-5
lines changed

debug_toolbar/panels/settings.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1+
from pprint import pformat
2+
13
from django.utils.translation import gettext_lazy as _
24
from django.views.debug import get_default_exception_reporter_filter
35

46
from debug_toolbar.panels import Panel
5-
from debug_toolbar.sanitize import force_str
67

78
get_safe_settings = get_default_exception_reporter_filter().get_safe_settings
89

@@ -27,7 +28,7 @@ def generate_stats(self, request, response):
2728
self.record_stats(
2829
{
2930
"settings": {
30-
key: force_str(value)
31+
key: pformat(value)
3132
for key, value in sorted(get_safe_settings().items())
3233
}
3334
}

debug_toolbar/templates/debug_toolbar/panels/settings.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
{% for name, value in settings.items %}
1111
<tr>
1212
<td>{{ name }}</td>
13-
<td><code>{{ value|pprint }}</code></td>
13+
<td><code>{{ value }}</code></td>
1414
</tr>
1515
{% endfor %}
1616
</tbody>

docs/changes.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Pending
1616
``debug_toolbar.store.DatabaseStore`` with ``SKIP_TOOLBAR_QUERIES``.
1717
* Fixed font family for code blocks and stack traces in the toolbar.
1818
* Added test to confirm Django's ``TestCase.assertNumQueries`` works.
19+
* Fixed display of values in settings panel.
1920

2021
6.1.0 (2025-10-30)
2122
------------------

tests/panels/test_settings.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,25 @@
1-
from django.test import override_settings
1+
from django.test import RequestFactory, override_settings
22

3-
from ..base import IntegrationTestCase
3+
from debug_toolbar.panels.settings import SettingsPanel
4+
5+
from ..base import BaseTestCase, IntegrationTestCase
6+
7+
rf = RequestFactory()
8+
9+
10+
class SettingsPanelTestCase(BaseTestCase):
11+
panel_id = SettingsPanel.panel_id
12+
13+
def test_panel_recording(self):
14+
self.request = rf.post("/", data={"foo": "bar"})
15+
response = self.panel.process_request(self.request)
16+
self.panel.generate_stats(self.request, response)
17+
18+
settings = self.panel.get_stats()["settings"]
19+
self.assertEqual(settings["USE_THOUSAND_SEPARATOR"], "False")
20+
self.assertEqual(settings["ABSOLUTE_URL_OVERRIDES"], "{}")
21+
self.assertEqual(settings["EMAIL_HOST"], "'localhost'")
22+
self.assertEqual(settings["EMAIL_PORT"], "25")
423

524

625
@override_settings(DEBUG=True)

0 commit comments

Comments
 (0)