Commit 537dd040 by Ned Batchelder

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

Fix encoding of Django-called Mako files to be safe
parents 7864ec1c 4f9f87c1
......@@ -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:
......
......@@ -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):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment