使用Python脚本的结果更新Javascript。
我想用Flask
中的Python脚本更新我的Javascript脚本。
我从Python
获取了一个值
脚本,并希望将其传递给或更新Javascript。
但是无法在Flask
中弄明白。
以下是我需要更新的Javascript:
events: {
load: function() {
// set up the updating of the chart each second
var series = this.series[0];
setInterval(function() {
var x = (new Date()).getTime();
// Value from Python script (DataFrame)
var y = Math.random() * 100;
series.addPoint([x, y], true, true);
}, 5000);
}
}
在这里,我传递的是随机值,但我想从Python脚本中传递值。 我的Python脚本如下所示:
import MySQLdb
import pandas.io.sql as sqlio
host = "~~~" # Public
port = 1111
username = "aa"
password = "aaa"
database = "aaaa"
conn = MySQLdb.connect(host=host,
user=username,
passwd=password,
db=database,
port=port)
qry1 = """
~~
"""
df = sqlio.read_sql(qry1, conn)
df['count'][0] # return some number in Python
功能成员。 我知道你赢了' 得到了
答案 0 :(得分:1)
如果我猜对了,你希望javascript代码中有一个由python脚本生成的数字。如果您正在使用Flask,那么您可能正在使用Jinja2,对吗?
当请求具有所述javascript的页面并使用render_template()将其发回时,您可以将关键字参数传递给包含该值的render_template,然后在模板中,您可以将该变量的值“回显”到javascript中。例如,如果你在模板目录中的模板page.html中有相关的javascript,并且有一个python函数来计算名为compute_value
的值
@app.route("/page")
def page():
value = compute_value()
return render_Template('page.html', value = value)
然后在page.html中,您可以拥有此
var y = {{ value }}
所以从某种意义上说,你使用Jinja2从python生成javascript代码。