通过函数调用Flask更新值

时间:2014-08-12 16:49:39

标签: javascript python ajax flask jinja2

我需要使用以下内容更新实时数据,但index()get_data()只能在程序中调用一次。

如何多次返回值,以便在渲染模板时,每次都会收到不同的值。

@app.route('/', methods=['GET'])
def index():
    value = get_data()
    print "index", value
    return render_template('index.html', session_value=value)


@app.route('/get_data', methods=['GET'])
def get_data():
    df = sqlio.read_sql(qry, conn)
    value = df['count'][0]
    print value
    return value

1 个答案:

答案 0 :(得分:1)

当您将@app.route作为装饰器时,它会将其绑定为应用程序中的路径。稍后调用它不会产生你想要的效果 - 它调用装饰器,而不是函数本身。我会将您的代码更改为以下内容:

def get_data():
    df = sqlio.read_sql(qry, conn)
    value = df['count'][0]
    print value
    return value

@app.route('/', methods=['GET'])
def index():
    value = get_data()
    print "index", value
    return render_template('index.html', session_value=value)


@app.route('/get_data', methods=['GET'])
def get_data_route():
    value = get_data()
    # ... display your data somehow (HTML, JSON, etc.) ...