【问题标题】:Displaying a value real time on Python Flask在 Python Flask 上实时显示值
【发布时间】:2020-08-29 16:44:42
【问题描述】:

我正在尝试构建一个网络应用程序,它可以实时显示随机数变化,而无需刷新页面。

这是我的代码,当我刷新但不是实时时有效:

from flask import *
import random
# Init the server
app = Flask(__name__)
app.config['SECRET_KEY'] = 'mysecretkey'

# Send HTML!
@app.route('/')
def root():
    i=0
    while i < 10:
        n=random.randint(0,9)
        return str(n)
        i += 1

# Actually Start the App
if __name__ == '__main__':
    """ Run the app. """
    app.run(host='0.0.0.0', port='8000', debug=True)

我应该添加什么代码,以便实时显示它的变化?

【问题讨论】:

  • 只要调用return,方法就会结束。对于没有刷新的页面更新,您将需要一个 AJAX 进程,其中 javascript 在后台调用服务器并更新页面。您也可以查看推送通知,但这可能更复杂。
  • 使用客户端 JavaScript 比服务器上的任何东西都更容易完成。

标签: python flask flask-socketio


【解决方案1】:

由于页面没有重新加载,您需要使用位于客户端的 JavaScript 来执行此操作。因为这是随机数,所以您可能不需要进行 AJAX 调用,这是客户端和服务器在不重新加载任何页面的情况下相互通信的地方。有一个名为Math(文档here)的JavaScript 库,它有一个Random 函数。你可以这样做:

function randomInteger(min, max) {
    return Math.floor(Math.random() * (max - min) + min
}

这应该返回一个介于 min 和 max 之间的随机整数,包括 min 但不包括 max。

【讨论】:

    猜你喜欢
    • 2021-03-14
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 2020-12-09
    • 2018-03-28
    • 2019-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多