gpt4 book ai didi

python - 如何实时更新 django 模板?

转载 作者:行者123 更新时间:2023-12-04 02:47:16 24 4
gpt4 key购买 nike

在这个模板中,我从 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在 View 中,但当然它破坏了我的代码,只执行 while 语句的部分。

任何建议表示赞赏:)

最佳答案

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

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

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

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

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

关于python - 如何实时更新 django 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56805630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com