如何從 Flask 視圖顯示串流資料
Web 開發中的常見任務是顯示即時產生的資料。這些數據可以來自多種來源,例如資料庫、感測器或機器學習模型。
在 Flask 中,您可以使用yield 關鍵字從檢視中串流資料。這允許您將資料分塊發送到客戶端,而不是等待產生整個回應。這對於顯示太大而無法放入記憶體的資料或顯示不斷變化的資料很有用。
但是,串流資料的一個挑戰是您無法動態更新 HTML 模板,因為資料已傳送。模板在伺服器端渲染一次,然後發送到客戶端。這意味著您無法使用 JavaScript 即時更新模板。
解決此問題的主要方法有兩種:
以下是如何實現這兩個解決方案的一些範例:
使用JavaScript 更新直接頁面
<script> var xhr = new XMLHttpRequest(); xhr.open('GET', '/stream'); xhr.send(); xhr.onload = function() { if (xhr.status === 200) { var data = xhr.responseText; // Update the page with the new data } }; </script>
使用iframe 顯示流式HTML輸出
<iframe src="/stream"></iframe>
最適合您的解決方案將取決於您的特定要求。如果您需要直接更新頁面並完全控制輸出,那麼使用 JavaScript 是最好的選擇。如果您需要更簡單的解決方案或不需要直接更新頁面,那麼使用 iframe 是一個不錯的選擇。
以上是如何從 Flask 視圖中有效地顯示即時串流資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!