它是React,但用Python编写。现在包含Django集成。
项目描述
ReactPy-Django
ReactPy-Django 用于将 ReactPy 支持添加到现有的 Django项目。此软件包还通过以下功能为ReactPy提供加速...
- SEO兼容渲染
- 客户端Python组件
- 单页应用程序(SPA)功能
- 分布式计算
- 性能提升
- 可定制的重连行为
- 可定制的断开连接行为
- 多个根组件
- 跨进程通信/信号(通道层)
- Django视图到ReactPy组件的转换
- Django静态文件访问
- Django数据库访问
什么是ReactPy?
ReactPy 是一个用于在Python中构建用户界面的库,无需使用JavaScript。ReactPy界面由与在 ReactJS 中找到的组件类似的外观和行为组成。考虑到简单性,ReactPy可以由没有Web开发经验的人使用,同时足够强大,可以随着您的雄心壮志而成长。
支持的框架 | |
---|---|
内置 | 外部 |
Flask, FastAPI, Sanic, Tornado | Django,Jupyter,Plotly-Dash |
概览
my_app/components.py
您需要一个文件来定义您的 ReactPy 组件。我们建议在您选择的 Django 应用 中创建一个 components.py
文件来开始。在这个文件中,我们将创建一个简单的 hello_world
组件。
from reactpy import component, html
@component
def hello_world(recipient: str):
return html.h1(f"Hello {recipient}!")
my_app/templates/my_template.html
在您的 Django 应用 的 HTML 模板中,您现在可以使用 component
模板标签嵌入您的 ReactPy 组件。在这个标签内,您需要输入组件的点路径。
此外,您可以将 args
和 kwargs
传递到您的组件函数中。阅读下面的代码后,请注意 hello_world
函数定义(来自上一个示例)如何接受一个 recipient
参数。
{% load reactpy %}
<!DOCTYPE html>
<html>
<body>
{% component "example_project.my_app.components.hello_world" recipient="World" %}
</body>
</html>
资源
点击下面的链接了解更多关于这个项目的信息。