#1458 closed Cleanup/optimization (wontfix)
make the template error page useful for command line clients
| Reported by: | Owned by: | Adrian Holovaty | |
|---|---|---|---|
| Component: | Core (Other) | Version: | |
| Severity: | normal | Keywords: | |
| Cc: | Daniel Hahler | Triage Stage: | Unreviewed |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | yes | UI/UX: | yes |
Description
when using curl, or a command line client (say a automated update bot) the error message is hard to understand (or even see)
my solution was to do the following
Index: debug.py
===================================================================
--- debug.py (revision 2461)
+++ debug.py (working copy)
@@ -181,6 +181,17 @@
TECHNICAL_500_TEMPLATE = """
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
+<!--
+Traceback (most recent call last):
+{% for frame in frames %}
+ File "{{ frame.filename }}" in {{ frame.function }}
+ {% if frame.context_line %}
+ {{ frame.lineno|add:"1" }}. {{ frame.context_line|escape }}
+ {% endif %}
+{% endfor %}
+{{ exception_type }} at {{ request.path }}
+{{ exception_value|escape }}
+-->
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="robots" content="NONE,NOARCHIVE" />
@@ -531,7 +542,17 @@
display a standard 500 page.
</p>
</div>
-
+<!--
+Traceback (most recent call last):
+{% for frame in frames %}
+ File "{{ frame.filename }}" in {{ frame.function }}
+ {% if frame.context_line %}
+ {{ frame.lineno|add:"1" }}. {{ frame.context_line|escape }}
+ {% endif %}
+{% endfor %}
+{{ exception_type }} at {{ request.path }}
+{{ exception_value|escape }}
+-->
</body>
</html>
"""
which puts the traceback at the start and end of the HTML page as a comment so that the developer can just see it quickly.
Change History (2)
comment:1 by , 20 years ago
| Resolution: | → wontfix |
|---|---|
| Status: | new → closed |
comment:2 by , 7 years ago
| Cc: | added |
|---|---|
| Easy pickings: | set |
| Triage Stage: | Ready for checkin → Unreviewed |
| Type: | defect → Cleanup/optimization |
| UI/UX: | set |
It would be rather trivial (by now), since there is a text template already, which is used for AJAX: https://github.com/django/django/blob/586bf15f6f061b4fa99866fbfd9b33ae08789676/django/views/debug.py#L90
This could additionally check the user agent then.
I think it is very useful when developing.
This is an interesting idea, but I don't think it's worth adding.