PyWebIO v1.5.2 使用手册
1.72 MB
125 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
中文(简体) | .pdf | 3 |
摘要 | ||
文档介绍了PyWebIO v1.5.2的使用手册,详细阐述了其特性、功能及其版本更新内容。PyWebIO是一个基于浏览器的交互式Python框架,支持同步阻塞式输入处理和非声明式布局,能够将Python代码转换为Web应用。其核心模块包括输入函数和输出函数,支持多种交互方式,如文本输入、选择下拉、多选框等。PyWebIO还支持与Flask、Django、Tornado等Web框架集成,并提供了数据可视化功能,支持Bokeh、Plotly等第三方库。版本更新中,新增了输出动画、布局修复、跨域支持等功能,同时修复了多个bug。 | ||
AI总结 | ||
### 《PyWebIO v1.5.2 使用手册》总结
---
#### 功能概述
PyWebIO 是一个可以通过最少代码实现用户交互的工具,旨在提供良好的用户体验。它将浏览器视为一个“富文本终端”,让开发者像编写终端脚本一样快速构建 Web 应用或基于浏览器的 GUI 应用,无需了解 HTML 和 JS。PyWebIO 支持整合到现有 Web 服务框架(如 Flask、Django、Tornado 等)并提供命令式 API,方便进行输入输出操作和布局控制。
---
#### 核心特性
1. **同步式输入获取**:代码逻辑自然,类似 Python 内置的 `input` 函数。
2. **非声明式布局**:布局方式简单高效。
3. **低代码侵入性**:旧脚本仅需修改输入输出逻辑即可改造成 Web 服务。
4. **支持多种运行模型**:包括基于线程和协程的执行模型。
5. **数据可视化支持**:可结合第三方库(如 Plotly、Bokeh)实现数据可视化。
---
#### 输入输出功能
1. **输入函数**(`pywebio.input` 模块):
- 文本输入:`input("How old are you?", type=NUMBER)`。
- 密码输入:`password = input("Input password", type=PASSWORD)`。
- 下拉选择:`select('Which gift you want?', ['keyboard', 'ipad'])`。
- 复选框:`checkbox("User Term", options=['I agree to terms and conditions'])`。
- 单选框:`radio("Choose one", options=['A', 'B', 'C', 'D'])`。
- 多行文本输入:`textarea('Text Area', rows=3, placeholder='Some text')`。
- 文件上传:`img = file_upload("Select a image:", accept="image/*")`。
2. **输出函数**(`pywebio.output` 模块):
- 输出文本、图片、表格、Markdown 等内容。
- 支持动态交互,如点击事件、轮询机制和内容更新。
---
#### 布局与事件处理
- 支持通过 `put_tabs()` 和 `puttainment()` 创建标签页和弹出框。
- 支持绑定点击事件(`onclick` 回调函数)。
- 提供轮询机制(`捆绑 Silicon`)以监控用户操作。
---
#### 会话管理
- 提供会话控制函数(如 `defer_call()` 和 `hold()`)。
- 支持跨域通信,使用 WebSocket 或 Http 协议与客户端交互。
- 会话关闭时,清理正在进行的 PyWebIO 调用。
---
#### 版本更新
1. **v1.5.2**:
- 修复会话关闭后的线程保持问题。
- 修复 `put_button()` 中的协程回调问题。
2. **v1.4**:
- 支持自动持有会话。
- 支持绑定点击事件到任意输出组件。
- 添加 `put_button()` 和 `put_actions()` 功能。
3. **v0.3**:
- 支持 Bokeh 数据可视化。
- 更新前端代码至 TypeScript。
- 表格支持跨行/跨列单元格。
4. **v0.2**:
- 支持与 Django、aiohttp 框架整合。
- 支持 Plotly、PyECharts 等第三方可视化库。
- 添加动画提升 UI 体验。
---
#### 集成与部署
1. **与主流框架整合**:
- support Flask、Django、Tornado、aiohttp、FastAPI(Starlette)等。
- 使用 `start_server()` 启动服务或集成到现有框架。
2. **打包部署**:
- 使用 PyInstaller 将应用打包为可执行文件或文件夹。
- 打包时需修改 `Analysis` 的 `datas` 参数。
---
#### 服务器-客户端通信协议
- WebSocket 通信:适用于 Tornado 或 aiohttp 后端。
- Http 通信:适用于 Flask 或 Django 后端。
---
#### 总结
PyWebIO通过提供简洁的 API 和强大的功能,帮助开发者快速构建基于浏览器的交互式应用,尤其适合对 UI 要求不高但需要快速开发的场景。其版本更新不断优化功能并修复问题,生态系统也在不断扩展,支持更多框架和第三方库的集成。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
118 页请下载阅读 -
文档评分