将更新从 Python 服务器推送到 Web 界面
Pushing updates from Python server to a web interface
我在 python 中编写了一个算法,并围绕它编写了一个 Web 界面。提交表单并启动算法后,我想在页面上推送和更新数据,因为它是 运行。我怎样才能做到这一点?
要在网页之间进行实时或半实时通信,选项是
使用 HTML <head>
中的 meta refresh 标签在几秒后自动刷新页面
使用 JavaScript 和 AJAX HTTP GET 获取更新数据:https://api.jquery.com/jquery.get/
使用服务器发送的事件:http://www.html5rocks.com/en/tutorials/eventsource/basics/
使用 WebSockets:http://www.html5rocks.com/en/tutorials/websockets/basics/
除第一种方法外,所有方法除了了解服务器端 Python 外,还需要基本的 JavaScript 技能。后两种方法建议对实时通信有深入的了解。因此,如果您不熟悉 Web 开发,我建议您选择元刷新标签。
在服务器端,您需要启动一个进程或线程来处理长 运行 进程,然后让该进程将其进度写入数据库。当网络 UI 自我更新时,它会从数据库中读取最新结果,然后 pushes/pulles 将它们返回给浏览器。
我在 python 中编写了一个算法,并围绕它编写了一个 Web 界面。提交表单并启动算法后,我想在页面上推送和更新数据,因为它是 运行。我怎样才能做到这一点?
要在网页之间进行实时或半实时通信,选项是
使用 HTML
<head>
中的 meta refresh 标签在几秒后自动刷新页面
使用 JavaScript 和 AJAX HTTP GET 获取更新数据:https://api.jquery.com/jquery.get/
使用服务器发送的事件:http://www.html5rocks.com/en/tutorials/eventsource/basics/
使用 WebSockets:http://www.html5rocks.com/en/tutorials/websockets/basics/
除第一种方法外,所有方法除了了解服务器端 Python 外,还需要基本的 JavaScript 技能。后两种方法建议对实时通信有深入的了解。因此,如果您不熟悉 Web 开发,我建议您选择元刷新标签。
在服务器端,您需要启动一个进程或线程来处理长 运行 进程,然后让该进程将其进度写入数据库。当网络 UI 自我更新时,它会从数据库中读取最新结果,然后 pushes/pulles 将它们返回给浏览器。