所以,我正在传递一个包含html的“content”属性的对象。
<div>{{ myobject.content }}</div>
我希望能够输出内容,以便将字符呈现为html字符。
“conent”的内容可能是:&lt; p&gt; Hello&lt; / p&gt;
我希望将其发送到浏览器:&amp; lt; p&amp; gt; Hello&amp; lt; / p&amp; gt;
我可以在模板中自动执行此操作吗?
答案 0 :(得分:4)
是的,{{ myobject.content | escape }}
应该有所帮助(假设您的意思是Django模板 - 没有特定的“App Engine”模板系统,GAE应用程序经常使用Django模板系统);如果你想要两个转义级别,你可能需要重复| escape
部分(在你提供的一些但不是全部的例子中都是如此)。
答案 1 :(得分:2)
这是Django的django.utils.html.escape函数:
def escape(html):
"""Returns the given HTML with ampersands, quotes and carets encoded."""
return mark_safe(force_unicode(html).replace('&', '&').replace('<', '&l
t;').replace('>', '>').replace('"', '"').replace("'", '''))
另请参阅here。