在 Django < 1.8 中,可以在不自动转义的情况下呈现模板:
context = Context({...}, autoescape=False)
result = template.render(context)
在 Django 1.8/1.9 中,我得到以下弃用警告:
RemovedInDjango110Warning: render() must be called with a dict, not a Context.
当然,我可以将Context
实例更改为 dict:
result = template.render({...})
但是如何强制该render
功能关闭自动转义而不{% autoescape %}
在每个电子邮件模板中使用标签(不是我项目中的每个模板!)?
我想到的只有一个解决方案:遍历所有上下文(字典)项并将它们标记为安全(mark_safe
),但这似乎并不优雅。