Jinja 将引号转换为 &#39 [重复]

Posted

技术标签:

【中文标题】Jinja 将引号转换为 &#39 [重复]【英文标题】:Jinja converting quotation marks to &#39 [duplicate] 【发布时间】:2020-02-19 07:44:53 【问题描述】:

我正在使用一个烧瓶项目,并且有一次我使用变量渲染了一个模板:

open_modal = "jQuery(document).ready(function($) $UIkit.modal("#modal1").show(););

然后使用以下代码在模板中呈现:

<script type="text/javascript">
     open_modal 
</script>

但是,当我运行页面并检查它显示的 html

jQuery(document).ready(function($) $UIkit.modal(&#34;#modal1&#34;).show(););

所以我认为引号 (') 被转换为 '"' ,这与 Javascript 语法有冲突。如何防止这种转换?

谢谢!

【问题讨论】:

【参考方案1】:

默认情况下jinja2 引擎会进行转换。如下更新您的代码以使用 safe 过滤器 -

 open_modal | safe 

【讨论】:

以上是关于Jinja 将引号转换为 &#39 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Jinja2 模板在烧瓶中解码 &#39 [重复]

通过 jinja 传递对象将其转换为 html 编码文本 [重复]

ASP.NET 单引号转换为 '

将列表的字符串表示形式转换为带引号和双引号的列表[重复]

Jquery 将 " 转换为文字引号

使用 Flask/Jinja2 将 HTML 传递给模板