所以在Jinja2中我有这段代码:
<div id='posts'>
<!-- Display all posts -->
{% for p in posts %}
<div class='post'>
<h3>{{ p[1] }}</h3>
{{ p[2] }}
</div>
{% endfor %}
</div>
p[2]
在这里很重要。它只是一个值为"<p>content</p> <b>bold</b>"
的unicode字符串。我希望它显示为html,但是当我加载页面时,这就是它的显示方式:
但是,当我查看页面源时,它看起来像这样:
<p>content</p> <b>bold</b>
我想要的只是显示为普通的HTML。我有一种感觉,这是一些奇怪的编码问题,我对此知之甚少。任何帮助表示赞赏!
答案 0 :(得分:2)
这是autoescaping。它可以保护您免受XSS注入等攻击。
如果您确定自己的内容是安全的,可以使用
将其关闭{% autoescape false %}...{% endautoescape %}