summaryrefslogtreecommitdiff
path: root/django/views/debug.py
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2005-12-06 05:04:56 +0000
committerAdrian Holovaty <adrian@holovaty.com>2005-12-06 05:04:56 +0000
commit85c369001b750909e616470cb853ceb2301fd71a (patch)
tree8e0c87adc75dec9204b96ab3c6142c4e9593ad23 /django/views/debug.py
parent54618dc0fe7338d7fea7a893ef1b418780b045ad (diff)
Debug 400 page now displays special error message if your URLconf is empty.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@1552 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/views/debug.py')
-rw-r--r--django/views/debug.py32
1 files changed, 21 insertions, 11 deletions
diff --git a/django/views/debug.py b/django/views/debug.py
index 863651b538..8909c1f64f 100644
--- a/django/views/debug.py
+++ b/django/views/debug.py
@@ -128,15 +128,21 @@ def technical_404_response(request, exception):
Create a technical 404 error response. The exception should be the Http404
exception.
"""
+ urlconf_is_empty = False
try:
tried = exception.args[0]['tried']
except (IndexError, TypeError):
tried = []
+ else:
+ if not tried:
+ # tried exists but is an empty list. The URLconf must've been empty.
+ urlconf_is_empty = True
t = Template(TECHNICAL_404_TEMPLATE)
c = Context({
'root_urlconf': settings.ROOT_URLCONF,
'urlpatterns': tried,
+ 'urlconf_is_empty': urlconf_is_empty,
'reason': str(exception),
'request': request,
'request_protocol': os.environ.get("HTTPS") == "on" and "https" or "http",
@@ -533,19 +539,23 @@ TECHNICAL_404_TEMPLATE = """
</table>
</div>
<div id="info">
- {% if urlpatterns %}
- <p>
+ {% if urlconf_is_empty %}
+ <p>Your URLconf, <code>{{ settings.ROOT_URLCONF }}</code>, was empty.</p>
+ {% else %}
+ {% if urlpatterns %}
+ <p>
Using the URLconf defined in <code>{{ settings.ROOT_URLCONF }}</code>,
Django tried these URL patterns, in this order:
- </p>
- <ol>
- {% for pattern in urlpatterns %}
- <li>{{ pattern|escape }}</li>
- {% endfor %}
- </ol>
- <p>The current URL, <code>{{ request.path }}</code>, didn't match any of these.</p>
- {% else %}
- <p>{{ reason|escape }}</p>
+ </p>
+ <ol>
+ {% for pattern in urlpatterns %}
+ <li>{{ pattern|escape }}</li>
+ {% endfor %}
+ </ol>
+ <p>The current URL, <code>{{ request.path }}</code>, didn't match any of these.</p>
+ {% else %}
+ <p>{{ reason|escape }}</p>
+ {% endif %}
{% endif %}
</div>