我正在从django项目的DB中加载一个文本,以便在模板中显示它。
在数据库中存储的文本中,我添加了一些HTML标记,但似乎浏览器无法解释此html标记。
这是我的模板:
<div>
<!-- body_text = "<strong>Hello</strong> word" -->
{{ entry.body_text }}
</div>
我得到原始文本:<strong>Hello</strong> word
而不是
<strong>Hello</strong> word
&#13;
我做错了什么?
答案 0 :(得分:3)
答案 1 :(得分:2)
你也可以试试这个:
{% autoescape off %}
{{ your_html_content }}
{% endautoescape %}
控制当前的自动转义行为。这个标签需要 on 或 off 作为参数,并确定自动转义是否在块内有效。该区块关闭 endautoescape 结束标记。
当自动转义生效时,所有变量内容都有HTML 在将结果放入输出之前将转义应用于它(但是 在应用任何过滤器之后)。这相当于手动 将转义过滤器应用于每个变量。
正如在另一个答案中指出的那样,您也可以使用safe
过滤器:
在输出之前将字符串标记为不需要进一步的HTML转义。 当自动关闭时,此过滤器无效。
请参见此处:safe过滤器。
详细了解django模板标签和过滤器:Django Built-in template tags and filters