Django:为什么这个输出HTML转义

时间:2012-08-04 17:41:32

标签: django templates

在我写的模板中:

<div class="content video">{{ each.text }}</div>

我得到了:

<iframe width="300" height="200" src="http://www.youtube.com/embed/1C1HLH-hOZU" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen></iframe>

我希望该文本成为标记的一部分,而不是文本。什么说?

1 个答案:

答案 0 :(得分:14)

您的意思是each.text的输出是否被转义,您是否在浏览器中看到文本而不是渲染的标记?

这是因为出于安全原因,Django的模板引擎默认自动输出输出。您可能希望使用内置safe过滤器,如下所示:

<div class="content video">{{ each.text|safe }}</div>

或者另一种方法是在视图中使用mark_safe