Fixed #6353: better handle unicode in exception reasons.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@8560 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Jacob Kaplan-Moss 2008-08-25 22:47:07 +00:00
parent 3deff41a32
commit ddb3cdd514
1 changed files with 2 additions and 2 deletions

View File

@ -7,7 +7,7 @@ from django.conf import settings
from django.template import Template, Context, TemplateDoesNotExist from django.template import Template, Context, TemplateDoesNotExist
from django.utils.html import escape from django.utils.html import escape
from django.http import HttpResponse, HttpResponseServerError, HttpResponseNotFound from django.http import HttpResponse, HttpResponseServerError, HttpResponseNotFound
from django.utils.encoding import smart_unicode from django.utils.encoding import smart_unicode, smart_str
HIDDEN_SETTINGS = re.compile('SECRET|PASSWORD|PROFANITIES_LIST') HIDDEN_SETTINGS = re.compile('SECRET|PASSWORD|PROFANITIES_LIST')
@ -256,7 +256,7 @@ def technical_404_response(request, exception):
'root_urlconf': settings.ROOT_URLCONF, 'root_urlconf': settings.ROOT_URLCONF,
'request_path': request.path[1:], # Trim leading slash 'request_path': request.path[1:], # Trim leading slash
'urlpatterns': tried, 'urlpatterns': tried,
'reason': str(exception), 'reason': smart_str(exception, errors='replace'),
'request': request, 'request': request,
'request_protocol': request.is_secure() and "https" or "http", 'request_protocol': request.is_secure() and "https" or "http",
'settings': get_safe_settings(), 'settings': get_safe_settings(),