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