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

Posted

技术标签:

【中文标题】通过 jinja 传递对象将其转换为 html 编码文本 [重复]【英文标题】:Passing object through jinja converts it to a html encoded text [duplicate] 【发布时间】:2022-01-24 00:18:15 【问题描述】:

为什么javascript会转换这个对象:

'id': '627862713242222632', 'username': 'Piranhas', 'avatar': 'da8a11436b0e596016e98d53688094ba', 'discriminator': '5016', 'public_flags': 0, 'flags': 0, 'banner': None, 'banner_color': None, 'accent_color': None, 'locale': 'en-US', 'mfa_enabled': False

进入以下

'id': '627862713242222632', 'username': 'Piranhas', 'avatar': 'da8a11436b0e596016e98d53688094ba', 'discriminator': '5016', 'public_flags': 0, 'flags': 0, 'banner': None, 'banner_color': None, 'accent_color': None, 'locale': 'en-US', 'mfa_enabled': False```
function messageParameters(messageType, userInfo) 
    let parameterTable = document.getElementById("parameterTable");
    console.log(userInfo)

clean 对象(第一个)在我的 python webapp 中打印,然后通过 renderTemplate。但是,当它到达我的站点(传递给函数)时,它会将其转换为一团糟!

任何关于为什么会发生这种情况的见解,以及潜在的解决方法都会很棒。

【问题讨论】:

【参考方案1】:

&#39 是撇号的html encoding。它已将所有撇号替换为编码,以确保浏览器正确显示实际撇号。如果不这样做,浏览器就有可能将其解释为可能是安全问题的代码。

【讨论】:

以上是关于通过 jinja 传递对象将其转换为 html 编码文本 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

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

将 Html 从模型/数据库和 jinja 中的 jinja 传递给 Jinja?

渲染JSON而不替换Jinja中的字符[重复]

使用 Micronaut 为 MongoDB 注册编解码器

如何将字符串转换为 NSData 以将其传递给 BLE 设备?

flask基础之jinja2模板-过滤器