responder
v2.0.7
由 Starlette 提供支援。該async
聲明是可選的。查看文件。
這將為您提供一個 ASGI 應用程序,其中預先安裝了生產靜態檔案伺服器、Jinja 模板(無需額外導入)和基於 uvloop 的生產 Web 伺服器,自動透過 gzip 壓縮提供請求。
“非常喜歡 python-responder。@kennethreitz 處於他的絕對最佳狀態。” —魯德拉什·MK
“ASGI 將支援各種新的高效能 Web 服務。很高興看到 Responder 開始利用這一點。” ——Tom Christie,Django REST Framework 的作者
“我喜歡你探索新的模式。去吧去吧!” ——丹尼‧格林菲爾德,《姜戈的兩匙》作者
有關 Responder 中可用功能的更多詳細信息,請參閱文件的功能概覽。
安裝最新的穩定版本:
pip install --upgrade 'responder'
包括對所有擴充和介面的支援:
pip install --upgrade 'responder[full]'
單獨的選用安裝附加功能包括:
或者,直接從儲存庫安裝:
pip install 'responder[full] @ git+https://github.com/kennethreitz/responder.git'
響應者支援Python 3.6+ 。
這裡的主要概念是結合 Flask 和 Falcon 的優點,並將它們統一到一個框架中,以及我的一些新想法。我還想採用 Requests 庫中灌輸的一些 API 原語並將它們放入 Web 框架中。因此,您會發現這裡與請求有很多相似之處。
resp.content
發送回位元組。resp.text
發送回 unicode,而設定resp.html
發送回 HTML。resp.media
發送回 JSON/YAML( .text
/ .html
/ .content
覆蓋此)。req.headers
字典(直接來自請求)。resp.status_code
, req.method
, req.url
,以及其他熟悉的朋友。 response.media
,並且在這裡使用了它。除了支援 JSON 之外,我還決定支援 YAML,因為 Kubernetes 正在慢慢佔領世界,它使用 YAML 來處理所有事情。內容協商等等。on_get
、 on_post
等方法之外,Responder 還具有on_request
方法,該方法會在每種類型的請求上調用,就像 Requests 一樣。請參閱開發沙箱。