解释文本文件中的文字HTML标签

问题描述 投票:0回答:1

我正在使用Flask和Jinja2模板来构建静态网页。我从.txt文件中获取页面文本。我想做的是从.txt文件中传递文字HTML标记,并在DOM中对其进行解释。当前,它以文字形式表示的文本,如果我查看页面源代码,则标记将以转义字符进行解释。

文本

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

HTML

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

anchor标签未表示为HTML标签,而是这样的:

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

我该如何实现?

javascript html css flask dom
1个回答
0
投票

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

有关如何禁用此功能的信息,请参见[文档](https://flask.palletsprojects.com/en/1.1.x/templating/#controlling-autoescaping)-一种简单的方法是将{{ text}}替换为{{ text|safe}}

但是请注意,如果text变量可以来自“不安全”来源,例如不受信任的用户,则不能执行此操作。

© www.soinside.com 2019 - 2024. All rights reserved.