Flask, Javascript:使用SQL查询刷新

0 投票
1 回答
2087 浏览
提问于 2025-04-18 16:57

我想每5秒更新一次我的模板查询,但每次得到的值都是一样的。我该怎么做才能每5秒刷新一次,并获取不同的值呢?我想写一个监控脚本,每5秒查询一次我的数据库。

@app.route('/')
def index():
    while True:
      conn = MySQLdb.connect(host=host,
                             user=username,
                             passwd=password,
                             db=database,
                             port=port)
      df = sqlio.read_sql(qry1, conn)
      value = df['id'][0]
      print value
      conn.close()
      time.sleep(5)
      return render_template('index.html', thev=value)



if __name__ == '__main__':
    app.run(
        port=8001,
        host='0.0.0.0'
    )

1 个回答

3

你代码里的 while True 这一部分其实没什么用——当有请求过来的时候,模板只会渲染一次,然后函数就结束了。

你需要在客户端做点什么来刷新数据。这个可以很简单,比如设置一个 自动刷新,或者你可以用JavaScript做一些异步更新数据的操作,这样就不用刷新整个页面了(网上有很多例子,这里是Flask超级教程中的相关部分)。

撰写回答