summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHrushikesh Vaidya <hrushikeshrv@gmail.com>2022-01-13 06:49:42 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-01-13 06:50:06 +0100
commit4099e6e73744ef6a609b578020219f6e4647dd7e (patch)
tree3894bf3b8d968d4abe4c1d59b298001265b5a66d
parent90cf96326432df56a1cf981df215b83f4e993bfd (diff)
Refs #33396 -- Added django.views.debug.get_caller() hook.
-rw-r--r--django/views/debug.py19
1 files changed, 11 insertions, 8 deletions
diff --git a/django/views/debug.py b/django/views/debug.py
index ab66f56a97..624cc3e35f 100644
--- a/django/views/debug.py
+++ b/django/views/debug.py
@@ -85,6 +85,16 @@ def get_exception_reporter_class(request):
return getattr(request, 'exception_reporter_class', default_exception_reporter_class)
+def get_caller(request):
+ resolver_match = request.resolver_match
+ if resolver_match is None:
+ try:
+ resolver_match = resolve(request.path)
+ except Http404:
+ pass
+ return '' if resolver_match is None else resolver_match._func_path
+
+
class SafeExceptionReporterFilter:
"""
Use annotations made by the sensitive_post_parameters and
@@ -536,13 +546,6 @@ def technical_404_response(request, exception):
if isinstance(urlconf, types.ModuleType):
urlconf = urlconf.__name__
- resolver_match = request.resolver_match
- if resolver_match is None:
- try:
- resolver_match = resolve(request.path)
- except Http404:
- pass
-
with builtin_template_path('technical_404.html').open(encoding='utf-8') as fh:
t = DEBUG_ENGINE.from_string(fh.read())
reporter_filter = get_default_exception_reporter_filter()
@@ -555,7 +558,7 @@ def technical_404_response(request, exception):
'reason': str(exception),
'request': request,
'settings': reporter_filter.get_safe_settings(),
- 'raising_view_name': '' if resolver_match is None else resolver_match._func_path,
+ 'raising_view_name': get_caller(request),
})
return HttpResponseNotFound(t.render(c), content_type='text/html')