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 一样。请参阅开发沙箱。