Commit 38d848a3 authored by Jannis Leidel's avatar Jannis Leidel
Browse files

[1.2.X] Fixed #11990 -- Show the correct URLconf in the technical 404 template...

[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
parent 3c208d1c
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -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>