Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Remove editor default. Add note about configuring editor in panel.
  • Loading branch information
tim-schilling committed Aug 1, 2026
commit 1d6349f4b6d0381b9ff6c3c5d04ec1b6b0b67bef
2 changes: 2 additions & 0 deletions debug_toolbar/panels/templates/panel.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
from django.urls import path
from django.utils.translation import gettext_lazy as _

from debug_toolbar import settings as dt_settings
from debug_toolbar.panels import Panel
from debug_toolbar.panels.sql.tracking import SQLQueryTriggered, allow_sql
from debug_toolbar.panels.templates import views
Expand Down Expand Up @@ -247,4 +248,5 @@ def get_stats(self):
origin_name = template["template"]["origin_name"]
if origin_name and origin_name != UNKNOWN_SOURCE:
template["template"]["editor_url"] = get_editor_url(origin_name)
stats["editor_configured"] = bool(dt_settings.get_config()["EDITOR"])
return stats
2 changes: 1 addition & 1 deletion debug_toolbar/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def _is_running_tests():
"debug_toolbar.panels.profiling.ProfilingPanel",
"debug_toolbar.panels.redirects.RedirectsPanel",
},
"EDITOR": "vscode",
"EDITOR": "",
"INSERT_BEFORE": "</body>",
"IS_RUNNING_TESTS": _is_running_tests(),
"OBSERVE_REQUEST_CALLBACK": "debug_toolbar.toolbar.observe_request",
Expand Down
9 changes: 9 additions & 0 deletions debug_toolbar/templates/debug_toolbar/panels/templates.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,15 @@ <h4>{% blocktranslate count template_count=template_dirs|length %}Template path{
{% endif %}

<h4>{% blocktranslate count template_count=templates|length %}Template{% plural %}Templates{% endblocktranslate %}</h4>
{% if not editor_configured %}
<p>
{% blocktranslate %}
To open template files in your editor, set the
<a target="_blank" href="https://django-debug-toolbar.readthedocs.io/en/latest/configuration.html#debug-toolbar-config:~:text=EDITOR">DEBUG_TOOLBAR_CONFIG["EDITOR"]</a>
setting.
{% endblocktranslate %}
</p>
{% endif %}
{% if templates %}
<dl>
{% for template in templates %}
Expand Down
20 changes: 18 additions & 2 deletions tests/panels/test_template.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,18 @@ def test_template_source(self):
response = self.client.get(url, data)
self.assertEqual(response.status_code, 200)

def test_get_stats_includes_editor_url(self):
def test_get_stats_without_editor_configured(self):
response = self.panel.process_request(self.request)
Template("", origin=Origin("test.html")).render(Context({}))
self.panel.generate_stats(self.request, response)
stats = self.panel.get_stats()
self.assertIsNone(stats["templates"][0]["template"]["editor_url"])
self.assertFalse(stats["editor_configured"])

@override_settings(
DEBUG_TOOLBAR_CONFIG={"EDITOR": "vscode"},
)
def test_get_stats_with_editor_configured(self):
response = self.panel.process_request(self.request)
Template("", origin=Origin("test.html")).render(Context({}))
self.panel.generate_stats(self.request, response)
Expand All @@ -158,13 +169,18 @@ def test_get_stats_includes_editor_url(self):
stats["templates"][0]["template"]["editor_url"],
"vscode://file/test.html:1",
)
self.assertTrue(stats["editor_configured"])

def test_get_stats_excludes_editor_url(self):
@override_settings(
DEBUG_TOOLBAR_CONFIG={"EDITOR": "vscode"},
)
def test_get_stats_excludes_editor_with_no_template(self):
response = self.panel.process_request(self.request)
Template("").render(Context({}))
self.panel.generate_stats(self.request, response)
stats = self.panel.get_stats()
self.assertNotIn("editor_url", stats["templates"][0]["template"])
self.assertTrue(stats["editor_configured"])


@override_settings(
Expand Down