【发布时间】:2019-04-04 01:14:01
【问题描述】:
我正在将一个变量传递给一个包含 html 的 django 模板。例如<strong>example</strong>。在将它存储在我的变量中之前,我将此字符串标记为 mark_safe()。
当我将它加载到模板中并在浏览器中加载页面时,它会将 html 显示为纯文本 <strong>example</strong>。
如果我在 chrome 控制台中查看它,唯一不同的是文本用括号括起来。所以它看起来像这样,“<strong>example</strong>”
就像我说的那样,我已经阅读了所有其他 stackoverflow 帖子并使用 {% autoescape off %} 标签标记了变量,并且我尝试了“安全”标签。这些将删除转义,但 HTML 仍然不呈现。下面是未转义的实际 html。我想知道它是否是它前面的空间?
<p>Modern Comics That Are Valuable But Often Overlooked and Should Be Sought Out In Dollar Bins and In Your Own Collection</p>
就像拥有 $-Ray 视觉
感谢您的帮助。
【问题讨论】:
-
你能发布你的代码吗?
-
代码真的不多。我只是从 django 模型中加载一个字符串。数据['description'] = mark_safe(category.description.strip())。然后在渲染 django 模板时将数据对象向下传递。我通过 {{description|safe}} 在他们的模板中引用该变量