Django 说有 3 种方法可以关闭自动转义:
|safe
在变量之后使用- 在块内使用
{% autoescape on %}
和{% endautoescape %}
- 使用类似的上下文
context = Context({'message': message}, autoescape=False)
(1)和(2)工作正常。但是我有模板来生成纯文本推送通知,并且我有大量模板要构建和维护。我可以通过并将{% autoescape on %}
and{% endautoescape %}
标签放入所有这些标签中,但是 (3) 应该允许我在视图中的一行中执行此操作。
模板:
{% block ios_message %}{{message}}{% endblock %}
风景:
message = u"'&<>"
context = Context({'message': message}, autoescape=False)
render_block_to_string(template_name, 'ios_message', context)
输出:
u''&<>
block_render.py 的代码来自这里:https ://github.com/uniphil/Django-Block-Render/blob/master/block_render.py 。我从那里按原样使用它。
有谁知道给了什么?