我有一个flask服务器,输出从pandas dataframe转换的json数据,如下所示:
[{'name': 'FBtr0075557',
'score': '164.00'},
{'name': 'FBtr0075557',
'score': '162.00'}]
我用于将数据帧转换为json并在flask中提供服务的python代码是:
result = df.to_json(orient="records")
parsed = json.loads(result)
return render_template('mirtar.html', targets=json.dumps(parsed))
当我使用内部javascript时,解析数据时不会出现任何错误:
<script type="text/javascript">
const targets = {{ targets|tojson }};
const entries = JSON.parse(targets);
console.log(entries);
</script>
但是,当我尝试使用外部JS脚本执行同样的操作时,我得到了一个错误
Uncaught SyntaxError: Unexpected token { in JSON at position
据我所知,外部javascript中的
const targets = {{ targets|tojson }};行与内部javascript中的行为方式不同,该行的第一个“{”被视为错误。 我相信这是一个非常基本的问题,必须有一个简单的方法来做这件事,我肯定错过了。
Jinja语法只在flask html模板中解析,而不是外部加载的JS资产:因为它是python应用程序进行解析,并且在部署的环境中,您通常会使用像nginx这样的Web服务器为静态资产提供服务
排序的最快方法可能是使用this method,而不是在HTML元素中使用数据属性。这意味着您将数据作为参数传递给模板
render_template
,因此数据在页面加载时存在于模板中在您的情况下,这可能看起来像
然后在javascript中加载以下内容:
相关问题 更多 >
编程相关推荐