搜索

epub文档 PyWebIO v1.0.3 使用手册

7.34 MB 106 页 0 下载 67 浏览 0 评论 0 收藏
语言 格式 评分
中文(简体)
.epub
3
摘要
PyWebIO是一个用于在浏览器上进行交互式操作的Python库,通过命令式API实现用户输入和输出,支持与多种Web框架(如Flask、Django、Tornado、aiohttp)集成。它允许开发者像编写终端脚本一样构建Web应用,具有同步输入、非声明式布局、低代码侵入性和第三方库支持等特点。文档介绍了其基本用法、输入输出函数、跨域配置、基于协程的会话以及与不同后端框架的集成方式,并提供了版本更新和示例代码。
AI总结
### PyWebIO v1.0.3 使用手册总结 #### 概述 PyWebIO 是一个用于快速开发基于浏览器的交互式 Web 应用的 Python 库。它通过命令式 API 实现输入和输出功能,类似于编写控制台程序,但输出在浏览器上完成。PyWebIO 支持多种 Web 框架(如 Flask、Django、Tornado、aiohttp)集成,适合快速构建对 UI 要求不高的 Web 应用。 --- #### 主要功能 1. **交互式输入输出** - 提供 `put_text`、`put_image`、`put_table` 等输出函数,以及 `input`、`select`、`file_upload` 等输入函数,支持文本、图片、表格等多种形式的交互。 - 支持表单提交和用户事件处理,提供良好的用户体验。 2. **布局与样式支持** - 新增布局函数 `put_grid`、`put_row`、`put_column`,支持自定义样式 `style()`,提升界面的灵活性和美观度。 3. **基于协程的会话** - 支持基于协程的任务函数,适用于 IO 密集型任务,资源占用低且性能优越。 - 协程会话需使用 `async` 关键字声明任务函数,并通过 `await` 调用输入函数。 4. **跨域配置** - 当前后端不在同一域名时,需在后端配置 `allowed_origins` 或 `check_origin` 参数允许跨域请求。 5. ** WebSocket 与 HTTP 通信** - 使用 WebSocket 通信时,需确保反向代理(如 Nginx)正确配置 WebSocket 支持。 6. **静态资源托管** - 开发阶段可直接使用后端框架提供的静态文件服务,生产环境建议使用反向代理或 CDN 托管静态资源。 --- #### 输入与输出 - **输入函数** - `input`:文本输入,支持 `type` 参数(如 NUMBER、TEXT 等)。 - `file_upload`:支持多文件上传和上传进度显示。 - **输出函数** - 新增 `toast`、`popup`、`put_collapse` 等交互式输出函数,提升用户反馈体验。 --- #### 配置与注意事项 1. **路径约定** - PyWebIO 默认通过 `./io` 路径与后端通信,`pywebio_api` 参数可指定后端接口地址。 2. **反向代理配置** - 使用 Nginx 配置 WebSocket 示例: ```nginx location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } ``` 3. **静态资源托管** - 开发阶段可使用后端框架托管静态文件,生产环境建议使用反向代理或 CDN。 --- #### 新功能与更新 1. **1.0 版本亮点** - 支持多任务函数和任务跳转(`go_app()`)。 - 新增布局支持和自定义样式功能。 - 显示输入时使用浮动式输入框,异常处理更友好。 2. **不兼容更改** - 移除基于锚点的输出控制模型。 - 不支持固定高度输出区,移除部分旧 API。 --- #### 安装与使用 - **安装** - 稳定版:`pip3 install -U pywebio` - 开发版:`pip3 install -U --force-reinstall https://code.aliyun.com/wang0618/pywebio/repository/archive.zip` - **示例** - BMI 计算器示例: ```python from pywebio.input import input, FLOAT from pywebio.output import put_text weight = input("请输入您的体重(公斤):", type=FLOAT) height = input("请输入您的身高(米):", type=FLOAT) bmi = weight / (height ** 2) put_text(f"您的 BMI 指数为:{bmi:.2f}") ``` --- #### 第三方库与扩展 - 支持结合第三方库实现数据可视化。 - 提供丰富的 Demo 示例(如基本示例、数据可视化 Demo 等)。 --- #### 参考链接 - [PyWebIO 官方文档](https://github.com/wang0618/PyWebIO) - [Nginx WebSocket 配置示例](https://github.com/wang0618/PyWebIO/discussions) - [GitHub 问题反馈](https://github.com/wang0618/pywebio/issues) 通过 PyWebIO,开发者可以像编写终端脚本一样快速开发 Web 应用,适合需要快速实现交互式 Web 界面的场景。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 99 页请下载阅读 -
文档评分
请文明评论,理性发言.