我需要使用以下内容更新实时数据,但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
答案 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.) ...