繁体   English   中英

如何实时更新 django 模板?

[英]How can i update a django template in real time?

在这个模板中,我从 API 中检索比特币的价格。 在实际时刻,价格只会在页面刷新时更新,而我希望在刷新整个页面的情况下动态更新价格。

这是我的观点:

def home(request):

    symbol = "BTCUSDT"
    tst = client.get_ticker(symbol=symbol)

    test = tst['lastPrice']

    context={"test":test}

    return render(request,
                  "main/home.html", context
                  )

模板的行看起来像这样:

<h3> var: {{test}} </h3> 

这里有两个问题:

1)据我所知,Django本身不是异步的,所以我需要找到一种方法来实时更新模板的那部分,而不必刷新整个页面。

2) 在实际时刻,API 在页面打开/刷新时被请求,但要流式传输价格,它应该始终运行。 我尝试了这个(糟糕的)解决方案:在视图中添加一个while true ,但当然它破坏了我的代码,只执行了 while 语句的部分。

任何建议表示赞赏:)

您应该将前端和后端分开,以便动态更新 DOM 内容,而无需每次都渲染整个 DOM。

当用户执行需要刷新或获取更新数据的操作时,前端的职责是请求和获取最新值。 请求需要通过例如 AJAX 异步进行。 较新的 JS 框架(例如 React、Vue)使用虚拟 DOM,它们使用中间虚拟 DOM 来推送更新并最终一次性更新真实 DOM; 这使它们非常高效。

(Django) 后端应该公开一个 API,该 API 将从后端获取特定资源的 (AJAX) 请求,并为它们提供服务。

Django 的一个不错的框架是 DRF(Django REST 框架),它公开了 REST 端点,您可以通过 AJAX 从前端调用这些端点并获得响应,以便前端可以进行必要的更新。

这是一个失败的高级视图,旨在为您提供一个想法,您可以通过深入挖掘来实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM