Merge pull request #12117 from edx/ned/fix-mako-encoding

Fix encoding of Django-called Mako files to be safe
This commit is contained in:
Ned Batchelder
2016-04-12 14:21:12 -04:00
2 changed files with 3 additions and 5 deletions

View File

@@ -48,6 +48,8 @@ class MakoLoader(object):
module_directory=self.module_directory,
input_encoding='utf-8',
output_encoding='utf-8',
default_filters=['decode.utf8'],
encoding_errors='replace',
uri=template_name)
return template, None
else:

View File

@@ -19,8 +19,6 @@ from edxmako.middleware import get_template_request_context
from edxmako.shortcuts import marketing_link
from mako.template import Template as MakoTemplate
DJANGO_VARIABLES = ['output_encoding', 'encoding_errors']
# TODO: We should make this a Django Template subclass that simply has the MakoTemplate inside of it? (Intead of inheriting from MakoTemplate)
@@ -34,9 +32,7 @@ class Template(MakoTemplate):
def __init__(self, *args, **kwargs):
"""Overrides base __init__ to provide django variable overrides"""
if not kwargs.get('no_django', False):
overrides = {k: getattr(edxmako, k, None) for k in DJANGO_VARIABLES}
overrides['lookup'] = edxmako.LOOKUP['main']
kwargs.update(overrides)
kwargs['lookup'] = edxmako.LOOKUP['main']
super(Template, self).__init__(*args, **kwargs)
def render(self, context_instance):