Django:为什么此输出会转义HTML

标签 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>

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

最佳答案

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

这是因为出于安全原因,Django 的模板引擎默认自动转义输出。您可能想像这样使用内置的 safe 过滤器:

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

或者另一种方法是在您的 View 中使用 mark_safe

关于Django:为什么此输出会转义HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11810677/

相关文章:

c++ - 类模板中的 Typedef 评估

c++ - 重载指向模板的成员函数指针

c++ - 为什么 shared_ptr<T> 期望在 T 中复制/移动构造函数?

python - 将主键放在 JSON 响应中

python - Wagtail 从字段创建自定义 StreamField block ?

python - 如何使用 Python/Django 作为后端进行 ReactJS 应用程序的服务器端渲染?

python - 基于 POST 数据向 Django 表单集添加新表单

python - 从 model.save() 中删除关联的模型实例不起作用

c++ - 为模板类静态实例生成有效标识符的宏

c++ - 检查指向基类的指针是否是使用可变参数模板派生的指针之一