Author: kmtracey
Date: 2010-03-05 12:53:07 -0600 (Fri, 05 Mar 2010)
New Revision: 12679
Modified:
django/trunk/django/views/debug.py
django/trunk/tests/regressiontests/views/tests/debug.py
django/trunk/tests/regressiontests/views/urls.py
django/trunk/tests/regressiontests/views/views.py
Log:
Fixed #12083: Ensured generating debug 404 page won't raise a key error. Thanks
pigletto.
Modified: django/trunk/django/views/debug.py
===================================================================
--- django/trunk/django/views/debug.py 2010-03-04 01:11:37 UTC (rev 12678)
+++ django/trunk/django/views/debug.py 2010-03-05 18:53:07 UTC (rev 12679)
@@ -268,7 +268,7 @@
"Create a technical 404 error response. The exception should be the
Http404."
try:
tried = exception.args[0]['tried']
- except (IndexError, TypeError):
+ except (IndexError, TypeError, KeyError):
tried = []
else:
if not tried:
Modified: django/trunk/tests/regressiontests/views/tests/debug.py
===================================================================
--- django/trunk/tests/regressiontests/views/tests/debug.py 2010-03-04
01:11:37 UTC (rev 12678)
+++ django/trunk/tests/regressiontests/views/tests/debug.py 2010-03-05
18:53:07 UTC (rev 12679)
@@ -19,3 +19,7 @@
response = self.client.post('/views/raises/', data)
self.failUnless('file_data.txt' in response.content)
self.failIf('haha' in response.content)
+
+ def test_404(self):
+ response = self.client.get('/views/raises404/')
+ self.assertEquals(response.status_code, 404)
Modified: django/trunk/tests/regressiontests/views/urls.py
===================================================================
--- django/trunk/tests/regressiontests/views/urls.py 2010-03-04 01:11:37 UTC
(rev 12678)
+++ django/trunk/tests/regressiontests/views/urls.py 2010-03-05 18:53:07 UTC
(rev 12679)
@@ -95,7 +95,8 @@
# a view that raises an exception for the debug view
urlpatterns += patterns('',
- (r'^raises/$', views.raises)
+ (r'^raises/$', views.raises),
+ (r'^raises404/$', views.raises404),
)
# rediriects, both temporary and permanent, with non-ASCII targets
Modified: django/trunk/tests/regressiontests/views/views.py
===================================================================
--- django/trunk/tests/regressiontests/views/views.py 2010-03-04 01:11:37 UTC
(rev 12678)
+++ django/trunk/tests/regressiontests/views/views.py 2010-03-05 18:53:07 UTC
(rev 12679)
@@ -4,6 +4,7 @@
from django import forms
from django.views.debug import technical_500_response
from django.views.generic.create_update import create_object
+from django.core.urlresolvers import get_resolver
from models import Article
@@ -12,7 +13,6 @@
"""Dummy index page"""
return HttpResponse('<html><body>Dummy page</body></html>')
-
def custom_create(request):
"""
Calls create_object generic view with a custom form class.
@@ -37,6 +37,10 @@
except Exception:
return technical_500_response(request, *sys.exc_info())
+def raises404(request):
+ resolver = get_resolver(None)
+ resolver.resolve('')
+
def redirect(request):
"""
Forces an HTTP redirect.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en.