簡體   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