[英]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.