我在非 HTML 环境中使用 Django 模板,所以很自然我想关闭 HTML 自动转义。
如何在全球范围内关闭它?
这些选项抑制全局启用的自动转义,在我的用例中,我希望相反。
根据文档,DjangoTemplates 后端应该有一个“autoescape”选项。
我什至找到了添加它的功能请求和提交。
然而它似乎对我不起作用。
最小的例子:
from django.template import Context
from django.template import Template
import django
from django.conf import settings
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"OPTIONS":
{
"autoescape": False
}
}
]
settings.configure(TEMPLATES=TEMPLATES)
django.setup()
template = Template("My name is {{ my_name }}.")
context = Context({"my_name": "<FooBar>"})
print(template.render(context))
预期输出:
My name is <FooBar>.
实际输出:
My name is <FooBar>.
我可能错过了一些愚蠢的东西。有人可以启发我吗?
我的虚拟环境:
python==3.6.5
Django==2.1.7
pip==9.0.3
pytz==2018.9
setuptools==39.0.1
慕妹3146593
相关分类