跳转到主要内容

与Flask API相同的Python ASGI网络微框架

项目描述

Quart logo

Build Status docs pypi python license chat

Quart是一个异步Python网络微框架。使用Quart,您可以:

  • 渲染和提供HTML模板,

  • 编写(RESTful)JSON API,

  • 提供WebSocket服务,

  • 流式传输请求和响应数据,

  • 几乎可以通过HTTP或WebSocket协议完成任何事情。

快速入门

Quart可以通过pip安装,

$ pip install quart

需要Python 3.8.0或更高版本(请参阅python版本支持以了解原因)。

一个最小的Quart示例是:

from quart import Quart, render_template, websocket

app = Quart(__name__)

@app.route("/")
async def hello():
    return await render_template("index.html")

@app.route("/api")
async def json():
    return {"hello": "world"}

@app.websocket("/ws")
async def ws():
    while True:
        await websocket.send("hello")
        await websocket.send_json({"hello": "world"})

if __name__ == "__main__":
    app.run()

如果以上内容在一个名为app.py的文件中,它可以按照以下方式运行:

$ python app.py

要在生产环境中部署此应用程序,请参阅部署文档。

贡献

Quart在GitHub上开发。如果您遇到问题或对功能有请求,请打开一个问题。如果您想贡献修复或功能实现,请这样做(欢迎 typo 修复),通过提出一个合并请求

测试

测试Quart的最佳方式是使用Tox

$ pip install tox
$ tox

这将检查代码风格并运行测试。

帮助

Quart 的文档 速查表是入门的好地方,之后尝试在Stack Overflow搜索或在 Discord 上寻求帮助。如果仍然找不到答案,请提交一个问题

与 Flask 的关系

Quart 是对流行的Flask 微框架 API 的 asyncio 重新实现。这意味着如果你理解 Flask,你就理解了 Quart。

与 Flask 类似,Quart 也有一个针对更特定需求的扩展生态系统。此外,许多 Flask 扩展也适用于 Quart。

从 Flask 迁移

应该可以通过将 flask 替换为 quart 并添加 asyncawait 关键字,从 Flask 迁移到 Quart。有关更多信息,请参阅文档

项目详细信息


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

quart-0.19.6.tar.gz (65.5 kB 查看散列)

上传时间

构建分布

quart-0.19.6-py3-none-any.whl (78.2 kB 查看散列)

上传时间 Python 3

由...