Skip to content

Commit 800e61e

Browse files
authored
Show namespaces alongside url_name in request panel (#1442)
1 parent 27598e7 commit 800e61e

File tree

3 files changed

+19
-1
lines changed

3 files changed

+19
-1
lines changed

debug_toolbar/panels/request.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,16 @@ def generate_stats(self, request, response):
4444
view_info["view_func"] = get_name_from_obj(func)
4545
view_info["view_args"] = args
4646
view_info["view_kwargs"] = kwargs
47-
view_info["view_urlname"] = getattr(match, "url_name", _("<unavailable>"))
47+
48+
if getattr(match, "url_name", False):
49+
url_name = match.url_name
50+
if match.namespaces:
51+
url_name = ":".join([*match.namespaces, url_name])
52+
else:
53+
url_name = _("<unavailable>")
54+
55+
view_info["view_urlname"] = url_name
56+
4857
except Http404:
4958
pass
5059
self.record_stats(view_info)

tests/panels/test_request.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,3 +84,10 @@ def test_dict_for_request_in_method_post(self):
8484
content = self.panel.content
8585
self.assertIn("foo", content)
8686
self.assertIn("bar", content)
87+
88+
def test_namespaced_url(self):
89+
self.request.path = "/admin/login/"
90+
response = self.panel.process_request(self.request)
91+
self.panel.generate_stats(self.request, response)
92+
panel_stats = self.panel.get_stats()
93+
self.assertEqual(panel_stats["view_urlname"], "admin:login")

tests/urls.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from django.contrib import admin
12
from django.contrib.auth.views import LoginView
23
from django.urls import include, path, re_path
34

@@ -22,5 +23,6 @@
2223
path("json_view/", views.json_view),
2324
path("redirect/", views.redirect_view),
2425
path("login_without_redirect/", LoginView.as_view(redirect_field_name=None)),
26+
path("admin/", admin.site.urls),
2527
path("__debug__/", include(debug_toolbar.urls)),
2628
]

0 commit comments

Comments
 (0)