作者: alfred

blog-image

Sessions、身份驗證、安全性 – Django Channels:實現 WebSocket 異步通信,打造高效的長連接系統

Django Channels 支援異步通訊,並在會話、身份驗證和安全性上提供解決方案。它使用 SessionMiddlewareStack 來簡化會話管理,並透過 AuthMiddleware 支援 Django 的身份驗證系統,也允許自訂中介軟體…

Read More

blog-image

Channel Layers – Django Channels:實現 WebSocket 異步通信,打造高效的長連接系統

本文探討了 Django Channels 的通道層(Channel Layers),其允許應用實例之間進行非同步通信,適合用於分散式實時應用。通道層透過 `CHANNEL_LAYERS` 配置,支持 Redis 和內存後端。它用於將高層次事件發送給…

Read More

blog-image

資料庫存取 – Django Channels:實現 WebSocket 異步通信,打造高效的長連接系統

在 Django Channels 中,當處理資料庫存取時,需要區分同步和異步操作。同步消費者不需要額外處理,但異步消費者需使用 `database_sync_to_async` 或異步模型方法來安全訪問資料庫。為有效管理資料庫連接,特別是在高併發環…

Read More

blog-image

Consumers深入說明 – Django Channels:實現 WebSocket 異步通信,打造高效的長連接系統

文章中根據官方文件對Consumer的說明,簡單的翻譯成了繁體中文,同時也增加了些許補充。文章探討了 Django Channels 中 Consumers 的使用,強調其在支持異步通信和長連接協議上的重要性。Channels 基於 ASGI(Asy…

Read More

blog-image

實時更新的多人聊天室 – Django Channels:實現 WebSocket 異步通信,打造高效的長連接系統

文章介紹了如何使用 Django Channels 在 Django 架構中建立即時更新的多人聊天室。文章首先講解了安裝 Channels 這個套件的基本步驟,包括 Django 專案初始化、安裝相關 Python 套件如 'channels' 並設…

Read More

blog-image

打造專屬ChatGPT:利用LLM進行結構化輸出(Structured Outputs)

文章說明了OpenAI結構化輸出(Structured output)的使用方式,介紹如何將對話中的非結構化數據轉化為特定的結構化資訊。同時提供了一系列的應用範例,包括數學問題解答過程、非結構化數據處理及用戶界面生成等。並展示了如何使用Python的…

Read More