diff options
| author | Adrian Holovaty <adrian@holovaty.com> | 2005-12-06 05:04:56 +0000 |
|---|---|---|
| committer | Adrian Holovaty <adrian@holovaty.com> | 2005-12-06 05:04:56 +0000 |
| commit | 85c369001b750909e616470cb853ceb2301fd71a (patch) | |
| tree | 8e0c87adc75dec9204b96ab3c6142c4e9593ad23 /django/views | |
| parent | 54618dc0fe7338d7fea7a893ef1b418780b045ad (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')
| -rw-r--r-- | django/views/debug.py | 32 |
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> |
