Django 3.0 將支持非同步功能

←手機掃碼閱讀     admin @ 2019-07-26 , reply:0

根據 Django 的項目目錄,Django 非同步功能草案(DEP 0009)已被技術委員會通過,預計將在 3.0 中正式引入。

該 DEP 主要關注 HTTP 中間件視圖和 ORM,要在 Django 中添加非同步支持,同時維護對同步 Python 的支持,並且將完全向後兼容。

最終會替換掉 Django 中的大多數阻塞部分,包括 Session、Auth、ORM 與 Handlers 等,使其原生支持非同步。而同步 API 將繼續存在並得到完全支持,其中一些最終將轉變為原生非同步代碼的同步包裝器。

ASGI 模式將 Django 作為原生非同步應用程序運行,WSGI 模式將圍繞每個 Django 調用運行單個事件循環,以使非同步處理層與同步伺服器兼容。

在這個改造的過程中,每個特性都會經歷以下三個實現階段:

  • Sync-only,只支持同步,也就是當前的情況
  • Sync-native,原生同步,同時帶有非同步封裝器
  • Async-native,原生非同步,同時帶同步封裝器

這一草案是 Django 貢獻者 Andrew Godwin 於去年提出的,他認為在 Django 傳統 MVC 模式中支持非同步功能,將會彌補程序同步執行中上下文切換時間過長這一 Python 核心缺陷。

詳情查看該 DEP(Django Enhancement Proposals,Django 增強草案):

https://github.com/django/deps/blob/master/accepted/0009-async.rst





[admin ]

來源:OsChina
連結:https://www.oschina.net/news/108535/django-will-support-async
Django 3.0 將支持非同步功能已經有56次圍觀

http://coctec.com/news/soft/show-post-210829.html