使用 Pyodide 构建独立的 Flet Web 应用
· 阅读需 6 分钟
我们刚刚发布了Flet 0.4.0,它具有一个超级令人兴奋的新功能 - 将 Flet 应用打包成独立的静态网站,可以完全在浏览器中运行!该应用可以发布到任何免费的静态网站托管,如 GitHub Pages 或 Cloudflare Pages。这要归功于 Pyodide - 一个 WebAssembly 的 Python 移植版!
您可以快速构建完全用 Python 编写的精彩单页应用(SPA),并将其托管在任何地方!无需 HTML、CSS 或 JavaScript!
快速示例:使用Pyodide创建Flet应用
安装最新的 Flet 包:
pip install flet --upgrade
创建一个简单的 counter.py
应用:
counter.py
import flet as ft
def main(page: ft.Page):
page.title = "Flet 计数器示例"
page.vertical_alignment = ft.MainAxisAlignment.CENTER
txt_number = ft.TextField(value="0", text_align=ft.TextAlign.RIGHT, width=100)
def minus_click(e):
txt_number.value = str(int(txt_number.value) - 1)
page.update()
def plus_click(e):
txt_number.value = str(int(txt_number.value) + 1)
page.update()
page.add(
ft.Row(
[
ft.IconButton(ft.icons.REMOVE, on_click=minus_click),
txt_number,
ft.IconButton(ft.icons.ADD, on_click=plus_click),
],
alignment=ft.MainAxisAlignment.CENTER,
)
)
ft.app(main)
运行全新的 flet publish
命令,将 Flet 应用发布为静态网站:
flet publish counter.py
网站将发布到与 counter.py
同级的 dist
目录中。
使用内置的Python Web服务器进行测试:
python -m http.server --directory dist
打开浏览器中的 http://localhost:8000
以检查已发布的应用。
以下是一些托管在 Cloudflare Pages 上的实时 Flet 应用:
查看指南 了解更多关于将 Flet 应用发布为独立网站的信息。
Python 中的内置 Fletd 服务器
Flet 0.4.0 还实现了新的 Flet 桌面架构。