0

我正在将一个变量传递给一个包含 html 的 django 模板。例如<strong>example</strong>. 在将它存储在我的变量中之前,我将此字符串标记为 mark_safe()。

当我将它加载到模板中并在我的浏览器中加载页面时,它会将 html 显示为纯文本,<strong>example</strong>.

如果我在 chrome 控制台中查看它,唯一不同的是文本用括号括起来。所以它看起来像这样,“ <strong>example</strong>

就像我说的那样,我已经阅读了所有其他 stackoverflow 帖子并使用 {% autoescape off %} 标签标记了变量,并且我尝试了“安全”标签。这些将删除转义,但 HTML 仍然不呈现。下面是未转义的实际 html。我想知道它是否是它前面的空间?

                    &lt;p&gt;Modern Comics That Are Valuable But Often Overlooked and Should Be Sought Out In Dollar Bins and In Your Own Collection&lt;/p&gt;

<p><strong><em>就像拥有 $-Ray 愿景</em></strong></p>

谢谢您的帮助。

4

1 回答 1

0

首先需要将转义的字符串解析为 HTML。然后您可以取消转义该字符串并将其传递下去,它将正确呈现。

import html.parser
html_parser = html.parser.HTMLParser()
description = html_parser.unescape(category.description)
于 2018-10-31T02:42:07.080 回答