如何在不刷新 Django 的情况下自动更新页面?

时间:2021-05-01 08:52:59

标签: javascript python jquery django ajax

我正在使用 Django 在股票市场上创建一个网站。我正在从 API 获取实时股票市场数据。我想每 5 秒更新一次股票的实时价格(由 API 提供)。如何在不刷新页面的情况下执行此操作?我发现 Ajax 对此非常有帮助,但我无法正确实现它。因此,有人可以举例说明在 Html 页面中使用 Ajax 更新值所需的代码。我正在考虑使用可以以 JSON 格式发送数据的单独 URL。如果可能,请帮助我。

2 个答案:

答案 0 :(得分:0)

您需要使用 setIntervalsetTimeout

使用 ES5

var $price = $('#price');

var interval = setInterval(function() {
   fetch('api').then(function(res) {
      return res.json();
   }).then(function(json) {
      $price.html(json.price);
   });
}, 1000);

使用更现代的 JavaScript:

const $price = $('#price');

var interval = setInterval(async function() {
   const res = await fetch('api');
   const json = await res.json();
   $price.html(json.price);
}, 1000);

答案 1 :(得分:0)

为此,您最好使用 django 频道 您将需要使用异步 django 视图,我认为这是完成工作的最准确方法