FastHTML
欢迎来到 FastHTML 官方文档。
FastHTML 是一个新的下一代 Web 框架,用于构建快速、可扩展的 Web 应用程序,代码简洁精炼。它的设计目标是:
- 功能强大且富有表现力,足以构建你能想象到的最先进、交互性最强的 Web 应用。
- 快速轻量,让你能写更少的代码,做更多的事。
- 易学易用,简单直观的语法使你能快速构建复杂的应用。
FastHTML 应用就是 Python 代码,所以你可以利用 Python 语言和生态系统的全部功能。FastHTML 的功能与 HTML 和 HTTP 直接一一对应,但允许使用良好的软件工程实践进行封装——因此你需要理解这些基础知识才能充分使用这个库。要了解其工作原理和原因,请先阅读:about.fastht.ml。
安装
由于 fasthtml
是一个 Python 库,你可以通过以下命令安装:
pip install python-fasthtml
在不久的将来,我们希望添加可以同样通过 pip
安装的组件库。
使用
对于一个最小的应用,创建一个名为 "main.py" 的文件,内容如下:
main.py
from fasthtml.common import *
app,rt = fast_app()
@rt('/')
def get(): return Div(P('Hello World!'), hx_get="/change")
serve()
使用 python main.py
运行应用会打印出一个链接指向你正在运行的应用:http://localhost:5001
。在浏览器中访问该链接,你应该会看到一个显示 "Hello World!" 文本的页面。恭喜,你刚刚创建了你的第一个 FastHTML 应用!
添加交互性非常简单,这要归功于 HTMX。修改文件添加这个函数:
main.py
@rt('/change')
def get(): return P('Nice to be here!')
现在你有了一个带有可点击元素的页面,点击时会改变文本。当点击这个链接时,服务器会响应一个 "HTML 片段"——即一小段 HTML,它将被插入到现有页面中。在这个例子中,返回的元素将替换原始的 P 元素(因为这是 HTMX 的默认行为)为第二个路由返回的新版本。
这种基于超媒体的 Web 开发方法是构建 Web 应用的强大方式。
下一步
从官方资源开始,了解更多关于 FastHTML 的信息:
我们还有一个 1 小时的入门视频:
https://www.youtube.com/embed/Auqrm7WFc0I
FastHTML 的功能广泛且不断增长,并非所有特性和模式都已记录。请准备投入时间研究和修改源代码,如 FastHTML 主仓库的笔记本和官方 FastHTML 示例仓库:
然后探索不断增长的第三方 FastHTML 教程、笔记本、库和组件生态系统:
- Isaac Flath 的 创建自定义 FastHTML 标签用于 Markdown 渲染
- 你的教程将出现在这里!
最后,加入 FastHTML 社区提问、分享你的作品并向他人学习: