Quart是基于Asyncio的Python微框架。它志在让开发者能够在Web开发中很容易地得到Asyncio带来的好处。它对Flask应用的支持最好,它和Flask拥有相同的API。
Quart希望成为功能完整的微框架,所以它支持 HTTP/1.1,HTTP/2 和 Websockets。Quart扩展性很强,并支持很多Flask扩展(希望将来会出现针对Quart的扩展)。
快速教程
你可以通过pip安装Quart
Quart支持Python>=3.6。
下面是Quart应用的一个小例子。
将上面代码放在文件app.py中,可以通过下面命令运行
特性
Quart具备通过HTTP提供网页服务所需的所有特性。如果你熟悉Flask,Quart就是一个在Flask上有所扩展的框架,扩展的功能如下:
HTTP/1.1分块传输和管道
Websockets
HTTP/2,包含服务器推送的能力
贡献
Quart在gitlab上开发,欢迎来提交问题和请求合并代码
测试
测试Quart最好的办法是使用Tox。
这样会检查代码风格并进行测试。
与Flask的API兼容性
Flask API由公用API、私有API及Werkzeug API组成。Quart几乎完全与Flask公用API兼容(除了async和await关键字)。日后会努力兼容Flask私有API,但是不会兼容Werkzeug API。
从Flask迁移过来
从Flask迁移过来要做的应该就是把所有的单词flask改为单词quart,并在必要地方加上async和await关键字。具体请看文档
译者:诗书塞外
英文原文:https://gitlab.com/pgjones/quart
领取专属 10元无门槛券
私享最新 技术干货