ITADN
reflex-dev/reflex
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
Reflex Logo

✨ 高性能、可定制的纯 Python Web 应用。几秒即可部署。 ✨

PyPI version versions Documentation PyPI Downloads Discord Twitter


[!NOTE] 使用 Reflex 更快构建:


简介

Reflex 是一个用于使用纯 Python 构建全栈 Web 应用的库。

主要特性:

  • 纯 Python - 使用 Python 编写应用的前端和后端,无需学习 Javascript。
  • 完全灵活 - Reflex 易于入门,但也能扩展到复杂的应用。

请参阅我们的 架构页面 以了解 Reflex 的内部工作原理。

⚙️ 安装

重要: 我们强烈建议使用虚拟环境,以确保 reflex 命令在您的 PATH 中可用。

🥳 创建您的第一个应用

使用 uv 创建项目、添加 Reflex 并启动开发服务器:

mkdir my_app_name
cd my_app_name
uv init

uv add reflex
uv run reflex init
uv run reflex run

你应该能在 http://localhost:3000 看到你的应用正在运行。

现在你可以修改 my_app_name/my_app_name.py 中的源代码。Reflex 具有快速刷新功能,因此当你保存代码时,可以立即看到更改。

🫧 示例应用

使用 Reflex 用 Python 构建一个图像生成应用:定义 UI,在类中管理状态,并从事件处理器中调用图像模型。

import reflex as rx
import openai

client = openai.AsyncOpenAI()


class State(rx.State):
    prompt: str = ""
    image_url: str = ""
    processing: bool = False

    @rx.event
    def set_prompt(self, value: str):
        self.prompt = value

    @rx.event
    async def generate(self):
        self.processing = True
        yield
        response = await client.images.generate(
            model="gpt-image-1.5",
            prompt=self.prompt,
        )
        self.image_url = f"data:image/png;base64,{response.data[0].b64_json}"
        self.processing = False


def index():
    return rx.vstack(
        rx.heading("Image Generator"),
        rx.input(placeholder="Enter a prompt...", on_change=State.set_prompt),
        rx.button("Generate", on_click=State.generate, loading=State.processing),
        rx.image(src=State.image_url),
    )


app = rx.App()
app.add_page(index, title="Reflex:Image Generation")

感谢所有贡献者: