纯 Python 构建现代 Web 应用程序

基于坚实的 Web 基础,而非追随最新的潮流——借助 FastHTML,您可以在几分钟内开始构建从简单的仪表盘到可扩展的 Web 应用程序的任何项目。

了解更多视频封面观看介绍7分 30秒

Youtube 图标

此主页是一个 FastHTML 应用程序。

点击下方按钮,查看四个小型实时组件的运行效果。

card3d.py

def card_3d_demo():
    """This is a standalone isolated Python component.
    Behavior and styling is scoped to the component."""
    def card_3d(text, background, amt, left_align):
        # JS and CSS can be defined inline or in a file
        scr = ScriptX('card3d.js', amt=amt)
        align='left' if left_align else 'right'
        sty = StyleX('card3d.css', background=f'url({background})', align=align)
        return Div(text, Div(), sty, scr)
    # Design credit: https://codepen.io/markmiro/pen/wbqMPa
    card = card_3d("Mouseover me", bgurl, amt=1.5, left_align=True)
    return Div(card, style=cardcss)
鼠标悬停

几分钟内快速入门

创建真实 Web 应用程序的最快方式。

使用 FastHTML,您可以用纯 Python 创建外观精美的现代 Web 应用程序,并在几分钟内部署它们。

快速入门

只需一个 Python 文件,就能创建您能想到的任何应用程序。您也可以引入任何喜欢的 Python 或 JS 库。

灵活性

FastHTML 提供了对 HTTP、HTML、JS 和 CSS 的完全访问权限,将 Web 的基础带给您。您能构建的应用没有限制。

速度与规模

FastHTML 应用程序快速且可扩展。它们也很容易部署,因为您可以使用任何支持 Python 的托管服务。

技术栈

FastHTML 可伸缩自如。

在此处阅读更多关于我们的设计哲学,或点击下方按钮

构建于坚实的基础之上

FastHTML 站在巨人的肩膀上

使用您熟悉的工具

FastHTML 拥抱熟悉的技术

随处部署

FastHTML 可以在任何运行 Python 的地方运行,包括一键部署到

示例

查看 FastHTML 的实际应用

FastHTML 可以用于从协作游戏到多模态用户界面的各种应用。我们为您挑选了一些小而独立完整的示例供您学习。

发现所有

常见问题

有问题?有答案。

为您解答关于 FastHTML 的热门问题。

它适用于:通用 Web 应用程序(即您会用 React、Django、Next.js 等构建的任何应用);快速仪表盘、原型和公司内部应用(例如您可能会使用 gradio/streamlit/等工具构建的应用);分析/模型/仪表盘交互式报告;自定义博客和内容密集型网站,同时您也希望有一些交互/动态内容。

您可以将 FastHTML 应用部署到任何支持 Python 的服务或服务器上。我们为 Railway.app、Vercel、Hugging Face Spaces、Replit 和 PythonAnywhere 提供了指南和辅助工具。您也可以使用任何 VPS 或服务器,或任何安装了 Python 的本地机器。所有主流操作系统都受支持。

FastAPI 是 FastHTML 的灵感来源之一。我们是其开发者体验的粉丝,并试图让 FastHTML 对 FastAPI 用户来说极其熟悉。FastAPI 专为创建 API 而设计,而 FastHTML 专为创建 HTML(即“超媒体应用程序”)而设计。您可以用 FastAPI(加上一个 JS 前端)创建的任何东西,也可以用 FastHTML 创建,反之亦然——如果您更喜欢主要编写 JS,您可能会更喜欢 FastAPI,因为您可以将大量客户端逻辑移入 JS。如果您更喜欢主要编写 Python,您可能会想使用 FastHTML,因为您通常可以完全避免使用 JS。

FastHTML 专门设计用于尽可能快速、轻松地编写现代 SPA 应用,同时确保您编写的应用具有可扩展性和高性能。默认情况下,FastHTML 路由返回轻量级的“局部”内容,直接更新 DOM,而不是进行完整的页面刷新。

HTMX 最好被认为是填补了 Web 浏览器的缺失部分——事实上,Web 浏览器制造商正在考虑将类似的功能直接整合到未来的浏览器中。它是一个小型的 JavaScript 库,只需一行 HTML,就可以让您直接从 Python 响应网页任何部分的任何事件,以任何您喜欢的方式修改 DOM。虽然您不必将其与 FastHTML 一起使用,但它将极大地增加您能做的事情!

不需要,但可以!您仅用 Python 就可以编写几乎任何标准的 Web 应用程序。但是,使用一点 JS 会很有帮助——例如,几乎任何现有的 JS 库都可以整合到 FastHTML 应用程序中,您也可以在页面的任何地方点缀一些 JS 代码。

视情况而定。使用 FastHTML 和 HTMX 的应用程序通常比使用大型库的基于 JS 的方法更快,因为它们可以非常轻量级。

爱意弥漫

专家怎么说

顶尖的 Web 程序员告诉我们,他们热爱使用 FastHTML。

© 2024 onwards AnswerDotAI. 版权所有。