diff --git a/django/views/debug.py b/django/views/debug.py index 2129a83d67..16f75df8c3 100644 --- a/django/views/debug.py +++ b/django/views/debug.py @@ -227,7 +227,7 @@ class ExceptionReporter(object): return "File exists" def get_traceback_data(self): - "Return a Context instance containing traceback information." + """Return a dictionary containing traceback information.""" if self.exc_type and issubclass(self.exc_type, TemplateDoesNotExist): from django.template.loader import template_source_loaders @@ -295,13 +295,13 @@ class ExceptionReporter(object): def get_traceback_html(self): "Return HTML version of debug 500 HTTP error page." t = Template(TECHNICAL_500_TEMPLATE, name='Technical 500 template') - c = Context(self.get_traceback_data()) + c = Context(self.get_traceback_data(), use_l10n=False) return t.render(c) def get_traceback_text(self): "Return plain text version of debug 500 HTTP error page." t = Template(TECHNICAL_500_TEXT_TEMPLATE, name='Technical 500 template') - c = Context(self.get_traceback_data(), autoescape=False) + c = Context(self.get_traceback_data(), autoescape=False, use_l10n=False) return t.render(c) def get_template_exception_info(self): diff --git a/tests/view_tests/tests/test_debug.py b/tests/view_tests/tests/test_debug.py index 0159886918..e941f4ae0e 100644 --- a/tests/view_tests/tests/test_debug.py +++ b/tests/view_tests/tests/test_debug.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import inspect import os +import re import shutil import sys from tempfile import NamedTemporaryFile, mkdtemp, mkstemp @@ -69,6 +70,21 @@ class DebugViewTests(TestCase): self.assertRaises(BrokenException, self.client.get, reverse('view_exception', args=(n,))) + def test_non_l10ned_numeric_ids(self): + """ + Numeric IDs and fancy traceback context blocks line numbers shouldn't be localized. + """ + with self.settings(DEBUG=True, USE_L10N=True): + response = self.client.get('/views/raises500/') + # We look for a HTML fragment of the form + # '