【发布时间】:2017-11-21 02:36:08
【问题描述】:
我正在构建一个基于 Python/Flask 的网络应用程序。 python 脚本生成一个单词字典及其相应的权重。我有一个 javascript 文件(我们称之为 custom.js),我从 output.html 中调用它。这个 javascript 的工作方式是它使用这个字典,然后使用 d3.v3.min.js 和 d3.layout.cloud.js 创建一个 wordcloud。当字典被硬编码为custom.js 时,输出文件会显示 wordcloud。但是,字典值将根据 python 脚本中的其他参数而改变。因此,我想将这本字典从 Python 传递给custom.js。我不知道该怎么做。
我知道可以使用{{ params |safe }} 将参数传递给HTML,但我正在尝试弄清楚如何做到这一点,以便custom.js 将接收参数(在这种情况下是单词和权重的字典)和词云可以动态呈现。
提前谢谢你!
【问题讨论】:
-
根据@Nurzhan的建议链接,我将app.py代码修改为:
tps = [ {'text': 'even', 'size': 180}, {'text': 'great', 'size': 49}] return render_template('results3.html',tps=tps)。向我的custom.js添加了一个函数为function myFunc(tps) {return tps;} d3.layout.cloud().size([300, 300]) .words(tps) .rotate(0).....和我的HTML 的脚本部分为``` ```.我做错了什么? -
tps 应该是字典 {...},而不是列表 [...]。在
{{ tps | safe }}中将safe更改为tojson。
标签: javascript python flask