Refs #30324 -- Forced utf-8 encoding when loading templates for the technical 404 debug and congrats page.
This commit is contained in:
parent
efb257a017
commit
6b4e57d79f
|
@ -497,7 +497,7 @@ def technical_404_response(request, exception):
|
|||
module = obj.__module__
|
||||
caller = '%s.%s' % (module, caller)
|
||||
|
||||
with Path(CURRENT_DIR, 'templates', 'technical_404.html').open() as fh:
|
||||
with Path(CURRENT_DIR, 'templates', 'technical_404.html').open(encoding='utf-8') as fh:
|
||||
t = DEBUG_ENGINE.from_string(fh.read())
|
||||
c = Context({
|
||||
'urlconf': urlconf,
|
||||
|
@ -514,7 +514,7 @@ def technical_404_response(request, exception):
|
|||
|
||||
def default_urlconf(request):
|
||||
"""Create an empty URLconf 404 error response."""
|
||||
with Path(CURRENT_DIR, 'templates', 'default_urlconf.html').open() as fh:
|
||||
with Path(CURRENT_DIR, 'templates', 'default_urlconf.html').open(encoding='utf-8') as fh:
|
||||
t = DEBUG_ENGINE.from_string(fh.read())
|
||||
c = Context({
|
||||
'version': get_docs_version(),
|
||||
|
|
|
@ -224,6 +224,19 @@ class DebugViewTests(SimpleTestCase):
|
|||
status_code=404
|
||||
)
|
||||
|
||||
def test_template_encoding(self):
|
||||
"""
|
||||
The templates are loaded directly, not via a template loader, and
|
||||
should be opened as utf-8 charset as is the default specified on
|
||||
template engines.
|
||||
"""
|
||||
with mock.patch.object(DebugPath, 'open') as m:
|
||||
default_urlconf(None)
|
||||
m.assert_called_once_with(encoding='utf-8')
|
||||
m.reset_mock()
|
||||
technical_404_response(mock.MagicMock(), mock.Mock())
|
||||
m.assert_called_once_with(encoding='utf-8')
|
||||
|
||||
|
||||
class DebugViewQueriesAllowedTests(SimpleTestCase):
|
||||
# May need a query to initialize MySQL connection
|
||||
|
|
Loading…
Reference in New Issue