Skip to content

Commit 377018b

Browse files
blueyedfelixxm
authored andcommitted
Fixed #30779 -- Improved selection of filenames in technical 500 debug page.
1 parent 9cab261 commit 377018b

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

django/views/templates/technical_500.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
span.commands a:link {color:#5E5694;}
6262
pre.exception_value { font-family: sans-serif; color: #575757; font-size: 1.5em; margin: 10px 0 10px 0; }
6363
.append-bottom { margin-bottom: 10px; }
64+
.fname { user-select: all; }
6465
</style>
6566
{% if not is_email %}
6667
<script>
@@ -137,7 +138,7 @@ <h1>{% if exception_type %}{{ exception_type }}{% else %}Report{% endif %}
137138
{% if lastframe %}
138139
<tr>
139140
<th>Exception Location:</th>
140-
<td>{{ lastframe.filename }} in {{ lastframe.function }}, line {{ lastframe.lineno }}</td>
141+
<td><span class="fname">{{ lastframe.filename }}</span>, line {{ lastframe.lineno }}, in {{ lastframe.function }}</td>
141142
</tr>
142143
{% endif %}
143144
<tr>
@@ -224,7 +225,7 @@ <h2>Traceback{% if not is_email %} <span class="commands"><a href="#" onclick="r
224225
</h3></li>
225226
{% endif %}{% endifchanged %}
226227
<li class="frame {{ frame.type }}">
227-
<code>{{ frame.filename }}</code> in <code>{{ frame.function }}</code>
228+
<code class="fname">{{ frame.filename }}</code>, line {{ frame.lineno }}, in {{ frame.function }}
228229

229230
{% if frame.context_line %}
230231
<div class="context" id="c{{ frame.id }}">

tests/view_tests/tests/test_debug.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,14 @@ def test_reporting_frames_without_source(self):
438438
self.assertEqual(last_frame['function'], 'funcName')
439439
self.assertEqual(last_frame['lineno'], 2)
440440
html = reporter.get_traceback_html()
441-
self.assertIn('generated in funcName, line 2', html)
441+
self.assertIn(
442+
'<span class="fname">generated</span>, line 2, in funcName',
443+
html,
444+
)
445+
self.assertIn(
446+
'<code class="fname">generated</code>, line 2, in funcName',
447+
html,
448+
)
442449
self.assertIn(
443450
'"generated", line 2, in funcName\n'
444451
' &lt;source code not available&gt;',
@@ -472,7 +479,14 @@ def test_reporting_frames_source_not_match(self):
472479
self.assertEqual(last_frame['function'], 'funcName')
473480
self.assertEqual(last_frame['lineno'], 2)
474481
html = reporter.get_traceback_html()
475-
self.assertIn('generated in funcName, line 2', html)
482+
self.assertIn(
483+
'<span class="fname">generated</span>, line 2, in funcName',
484+
html,
485+
)
486+
self.assertIn(
487+
'<code class="fname">generated</code>, line 2, in funcName',
488+
html,
489+
)
476490
self.assertIn(
477491
'"generated", line 2, in funcName\n'
478492
' &lt;source code not available&gt;',

0 commit comments

Comments
 (0)