Ludic 是一个与Htmx配合完美的轻量级框架

用于 React 的 组件方法构建 HTML 页面。 它旨在与 htmx.org 一起使用,因此开发人员几乎不需要编写任何 JavaScript 来创建动态 Web 服务。 它的潜力可以与其 Web 框架一起利用,该框架是强大的 Starlette 框架的包装器。 它是用最新的 Python 3.12 功能构建的,大量结合了类型。

文档 https: //ludic.readthedocs.io/ 

特征

  • 无缝 </> htmx 集成,用于 纯 Python中的快速 Web 开发
  • 具有标准 Python 类型提示的类似React 的组件方法
  • 的强大功能 利用Starlette Async 进行高性能 Web 开发
  • 轻松而强大地构建 HTML 使用 Python f-string

要求

Python 3.12+

安装

pip install ludic[full]


与 Starlette 类似,您还需要安装 ASGI 服务器:

pip install uvicorn


例子

组件.py

from typing import override<
>>
from ludic.html import a
from ludic.types import Attrs, Component
class LinkAttrs(Attrs):
    to: str
class Link(Component[str, LinkAttrs]):
    @override
    def render(self) -> a:
        return a(
            *self.children,
            href=self.attrs["to"],
            style={"color": "#abc"},
        )


现在你可以像这样使用它:

link = Link("Hello, World!", to="/home")


网络.py

from ludic.web import LudicApp
from ludic.html import b, p
from .components import Link
app = LudicApp()
@app.get("/")
async def homepage() -> p:
    return p(f"Hello {b("Stranger")}! Click {Link("here", to="https://example.com")}!")


运行应用程序:

uvicorn web:app


更多示例

如需结合框架所有功能的更复杂用法,请访问 GitHub 上 包含示例的文件夹。 

© GVGNN 2013-2026