首页 > 解决方案 > 从文本文件中解释文字 HTML 标签

问题描述

我正在使用带有 Jinja2 模板的 Flask 来构建静态网页。我正在从 .txt 文件中获取页面文本。我想要做的是从 .txt 文件中传递文字 HTML 标签,并在 DOM 中解释它。目前,它按字面意思表示的文本,如果我查看页面源代码,标签会以转义字符解释。

文本

The map uses the <a href="google.com">Google</a> API.

HTML

<p>{{ text }}</p>  <!-- text above goes here -->

锚标记不表示为 HTML 标记,而是像这样:

&lt;a href=&#34;google.com&#34;&gt;google&lt;/a&gt;

我怎么能做到这一点?

标签: javascripthtmlcssflaskdom

解决方案


这是因为 Flask 会自动转义模板变量中包含的任何 HTML 标记,以避免常见的安全问题。

请参阅文档以了解如何禁用此功能 - 一种简单的方法是替换{{ text}}{{ text|safe}}.

但请注意,如果text变量可能来自“不安全”的来源,例如不受信任的用户,则不能这样做。


推荐阅读