gpt4 book ai didi

javascript - 如何将 JSON 插入到 zope 变色龙模板中的脚本标记中?

转载 作者:行者123 更新时间:2023-11-29 18:24:36 25 4
gpt4 key购买 nike

我正在构建一个 Pyramid/python 应用程序,我的 View 可调用某个模板传递一个名为数据的值。这个变量是一个数组,形式为[[[x1,y1,z1,],...],[[v1,v2,v3],...]]

在我的 viewcallable 中有

import json

jsdata = json.dumps(data)

我想将其放入模板的 javascript 脚本标记部分,因此:

<script>
data=${jsdata}
</script>

但我很确定语法不正确。我该怎么做?

编辑:来自:http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/templates.html似乎 Genshi 样式替换是可行的方法,我认为这意味着我上面的内容是正确的。但是,我仍然不确定是否应该区别对待,因为它位于 javascript 标记内。这是真的吗?

最佳答案

您想插入一个 JavaScript 数组,而不是 Python 列表。

在 Python 和 JavaScript 格式之间进行转换的最简单方法是使用 json 模块。毕竟 JSON 是数据的 JavaScript 子集:

import json

jsdata = (json.dumps(data)
.replace(u'<', u'\\u003c')
.replace(u'>', u'\\u003e')
.replace(u'&', u'\\u0026')
.replace(u"'", u'\\u0027'))

然后将 jsdata 传递给您的模板。 str.replace() 调用确保数据保持 HTML 安全。

在模板中,在不转义的情况下插入:

<script>
var data = ${structure:jsdata};
</script>

关于javascript - 如何将 JSON 插入到 zope 变色龙模板中的脚本标记中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14818815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com