Django 在没有页面刷新的情况下显示实时数据

时间:2021-03-27 16:28:47

标签: python-3.x django ajax

我开发了 django 应用程序,它基本上在 Cisco 设备上同时在多个设备上执行跟踪路由,一切正常,但是在从所有设备获得输出后显示输出,我希望在获得输出后显示输出第一个设备,在获得第二个输出显示在网页上之后,它会变成一个,请帮助如何完成。 如果一定要用到这里怎么用ajax

1 个答案:

答案 0 :(得分:0)

看起来您需要执行 AJAX 请求或使用 WebSockets 来处理此类事情。

HTTP 协议以请求-响应方式工作,因此为了获得某些东西,您需要先请求它。

对于您的问题,您可以创建一个简单的视图,以 JSON 格式返回您最近的数据,例如使用 django JsonResponse。然后使用少量 JavaScript 代码创建一个模板,以不断轮询 django 服务器以获取数据并将其显示在页面上 (https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch)。

这种方法很好,但不是真正的实时。 如果您希望页面上的数据尽快更新,您应该考虑使用 WebSockets。 Django Channels 通常是这里的方式 (https://channels.readthedocs.io/en/stable/)。