Fixed #29791 -- Made Engine.render_to_string() honor autoescape.

This commit is contained in:
Nathan Gaberel 2019-03-23 20:27:45 +00:00 committed by Tim Graham
parent d4df5e1b0b
commit 624573726a
3 changed files with 9 additions and 1 deletions

View File

@ -627,6 +627,7 @@ answer newbie questions, and generally made Django that much better:
Nasir Hussain <nasirhjafri@gmail.com>
Natalia Bidart <nataliabidart@gmail.com>
Nate Bragg <jonathan.bragg@alum.rpi.edu>
Nathan Gaberel <nathan@gnab.fr>
Neal Norwitz <nnorwitz@google.com>
Nebojša Dorđević
Ned Batchelder <https://nedbatchelder.com/>

View File

@ -160,7 +160,7 @@ class Engine:
if isinstance(context, Context):
return t.render(context)
else:
return t.render(Context(context))
return t.render(Context(context, autoescape=self.autoescape))
def select_template(self, template_name_list):
"""

View File

@ -21,6 +21,13 @@ class RenderToStringTest(SimpleTestCase):
'obj:test\n',
)
def test_autoescape_off(self):
engine = Engine(dirs=[TEMPLATE_DIR], autoescape=False)
self.assertEqual(
engine.render_to_string('test_context.html', {'obj': '<script>'}),
'obj:<script>\n',
)
class GetDefaultTests(SimpleTestCase):