使用Python脚本的结果更新Javascript

时间:2014-08-11 22:38:17

标签: javascript jquery python ajax flask

使用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

功能成员。 我知道你赢了' 得到了

1 个答案:

答案 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代码。