python - HTML 代码在模板中显示为文本

标签 python django django-templates

我有一个这样的模板:

{% extends "index.html" %}

{% block content %}
{% if post %}
    <p> Post id: {{post.id}} </p>
    Post title: {{post.post_title}} 
    Post: {{post.post_body | safe}} 

{% endif %}

{% endblock content %}

我的 post.post_body

<code> Hello World! </code>

问题是,当页面被呈现时,代码标签也会出现,但它们并没有呈现为 HTML 标签。如果我检查呈现的 html,我会看到:

<p>&lt;code&gt; Hello World! &lt;/code&gt;</p>

如何将这些标签呈现为 HTML 标签?

最佳答案

除了使用 safe 过滤器,您应该使用标签 {% autoescape off %}{% endautoescape %} 包装变量。

关于python - HTML 代码在模板中显示为文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28250211/

相关文章:

python - 如何进行嵌套列表理解 (Python)

Python Pandas read_csv 保持列顺序

python - django dev server未读POST数据会报错

python - django 将石斑鱼名称重新组合为选择详细名称

python - 如何更新 django Rest 框架中的 self.request.user 字段?

python - python 日期时间中的闰年约定

json - DJANGO:如何将表单值序列化为 json 以存储在数据库列中

python - Django 通过父 ID 查询,无需连接

Django - 在带有 slug 的模板中添加 {% url %}

django - 在模板中扩展ManyToManyField