跳到主要内容

Flet为FastAPI提供支持

· 阅读需 3 分钟
Feodor Fitsner
Flet创始人兼开发者

我们刚发布了带有FastAPI支持的Flet 0.10.0!

将FastAPI与Uvicorn、Hypercorn、Gunicorn或其他Web服务器结合使用,可以取代内置的Flet Web服务器(Fletd),并可可靠地运行生产用途的Flet工作负载。

另一方面,有经验的FastAPI开发人员可以使用Flet轻松将交互式实时仪表板和管理UI添加到现有或新的FastAPI服务中。

一个最小的应用程序示例

import flet as ft
import flet_fastapi

async def main(page: ft.Page):
await page.add_async(
ft.Text("Hello, Flet!")
)

app = flet_fastapi.app(main)

这是一个简单的应用程序,只在网页上输出“Hello, Flet!”。

要运行该应用程序,首先安装Flet for FastAPI和Uvicorn:

pip install flet-fastapi
pip install uvicorn

将上面的代码保存到hello.py,然后使用以下命令启动Uvicorn:

uvicorn hello:app

打开浏览器,导航到 http://127.0.0.1:8000 ,以查看运行的应用程序。

备注

为了使用FastAPI WebSocket处理程序与Flet应用程序配合工作,Flet应用程序必须是异步的

特性和优势

  • 在单个域上运行多个Flet应用程序 - 映射到根目录和/或子路径。
  • 简单的一行映射 或者个别端点配置
  • 轻量级的异步包装器,用于更大的并发性的FastAPI WebSocket连接。
  • 提供Flet静态文件,包括用户资产和应用程序元信息的自定义。
  • 用于FilePicker控件的上传处理程序。
  • 用于身份验证流的OAuth回调处理程序。

请参阅指南 ,以获得关于Flet和FastAPI完整的信息。