summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJannis Leidel <jannis@leidel.info>2010-12-13 13:55:46 +0000
committerJannis Leidel <jannis@leidel.info>2010-12-13 13:55:46 +0000
commit38d848a3fefe703ee38cb84ea67e90d74733552b (patch)
treef88aa7a6506ad6fb03c40b1ddf5a30d3303cbafe
parent3c208d1cca091934ba28a3a86948ad362f9e1e1e (diff)
[1.2.X] Fixed #11990 -- Show the correct URLconf in the technical 404 template even if it was overridden, e.g. in a middleware. Thanks, mattbennett.
Backport from trunk (r14877). git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@14902 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/views/debug.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/django/views/debug.py b/django/views/debug.py
index a396d36244..fa18dfa7ac 100644
--- a/django/views/debug.py
+++ b/django/views/debug.py
@@ -2,6 +2,7 @@ import datetime
import os
import re
import sys
+import types
from django.conf import settings
from django.http import HttpResponse, HttpResponseServerError, HttpResponseNotFound
@@ -275,8 +276,13 @@ def technical_404_response(request, exception):
# tried exists but is an empty list. The URLconf must've been empty.
return empty_urlconf(request)
+ urlconf = getattr(request, 'urlconf', settings.ROOT_URLCONF)
+ if isinstance(urlconf, types.ModuleType):
+ urlconf = urlconf.__name__
+
t = Template(TECHNICAL_404_TEMPLATE, name='Technical 404 template')
c = Context({
+ 'urlconf': urlconf,
'root_urlconf': settings.ROOT_URLCONF,
'request_path': request.path_info[1:], # Trim leading slash
'urlpatterns': tried,
@@ -773,7 +779,7 @@ TECHNICAL_404_TEMPLATE = """
<div id="info">
{% if urlpatterns %}
<p>
- Using the URLconf defined in <code>{{ settings.ROOT_URLCONF }}</code>,
+ Using the URLconf defined in <code>{{ urlconf }}</code>,
Django tried these URL patterns, in this order:
</p>
<ol>