PyWebIO v1.7.0 Documentation
1.37 MB
110 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档详细介绍了PyWebIO v1.7.0的新功能和改进,包括对WebSocket和HTTP通信协议的支持、输出函数的增强、会话管理的优化以及与多种Web框架的集成。PyWebIO通过提供简单易用的Python API,允许开发者快速构建交互式Web应用,无需深入了解HTML和JavaScript。该版本还引入了多项安全性和用户体验的改进,如防止XSS攻击、支持UI国际化、SEO优化以及CDN集成。此外,文档还提供了详细的部署指南,涵盖目录部署、应用部署以及与Tornado、Flask、Django等框架的集成。 | ||
AI总结 | ||
以下是对《PyWebIO v1.7.0 Documentation》的总结,重点突出核心观点和关键信息,语言简洁明了,逻辑连贯:
---
### **PyWebIO v1.7.0 文档总结**
#### **1. 不兼容性更新**
- **移除参数**:`disable_asyncio` 参数在 `start_server()` 中被移除(适用于 Django 和 Flask)。
- **弃用方法**:`pywebio.session.data()` 被弃用,建议使用 `pywebio.session.local` 替代。
- **部署地址变更**:集成到 Web 框架中的应用访问地址发生变化,详见“Web 框架集成”部分。
- **参数移除**:`put_scrollable()` 的 `max_height` 参数移除,改用 `height` 参数。
---
#### **2. 详细更改**
- **新增功能**:
- `put_code()` 增加 `rows` 参数,用于限制显示的最大行数。
- `put_scrollable()` 增加 `keep_bottom` 参数。
- `put_markdown()` 增加用于配置 Markdown 解析选项的参数。
- 输出函数 `output()` 的 `reset()`、`append()` 和 `insert()` 方法支持接收字符串内容。
- 对 `put_code()`、`put_image()`、`put_link()`、`put_row()` 和 `put_grid()` 的参数增加 HTML 转义。
- **修复**:
- 修复 `file_upload()` 中 `max_size` 和 `max_total_size` 参数的解析错误。
- 修复 Python 3.6 下自动打开浏览器失败的问题。
- 修复 `put_image()` 在使用 PIL Image 源时因未知文件扩展名引发的错误。
- 修复文件上传时的路径解释错误,避免潜在安全漏洞。
---
#### **3. 版本历史与亮点**
- **v1.0 版本**(2021/1/17):
- 引入 `start_server()` 和 `go_app()`。
- 支持布局函数 `put_grid()`、`put_row()`、`put_column()` 和样式配置。
- 增加 `toast()`、`popup()`、`put_widget()`、`put_collapse()`、`put_link()`、`put_scrollable()`、`put_loading()` 和 `put_processbar()` 等新组件。
- 支持 JavaScript 执行和控制台输出。
- 提供 `span()` 和 `output()` 函数。
- **v1.1 版本**(2021/2/7):
- 增加安全支持:`put_html()` 和 `put_markdown()` 支持 `sanitize` 参数以防止 XSS 攻击。
- 支持 UI 国际化。
- 提供 SEO 支持,通过 `pywebio.platform.seo()` 或函数文档字符串设置 SEO 信息。
- 支持 CDN,便于与 Web 框架集成。
- 提高应用访问速度,取消探测请求以确定通信协议。
- **v1.2 版本**(2021/3/18):
- 支持 WebSocket 连接的重新连接,通过 `reconnect_timeout` 参数配置。
- 引入 `path_deploy()`、`path_deploy_http()` 和 `pywebio-path-deploy` 命令,从目录部署 PyWebIO 应用。
- 文档和演示现在提供英文版本。
- 输出函数支持上下文管理器。
---
#### **4. 平台部署**
- **目录部署**:
- 使用 `path_deploy()` 或 `path_deploy_http()` 从目录部署 PyWebIO 应用。目录中的 Python 文件需包含主函数以被识别为应用。
- 注意:以底线开头的文件或文件夹无法被访问。
- **Web 框架支持**:
- 支持 Tornado、Flask、Django、aiohttp、FastAPI/Starlette。
- WebSocket 通信用于 Tornado 或 aiohttp,HTTP 通信用于 Flask 或 Django。
---
#### **5. 服务器-客户端通信协议**
- **WebSocket 通信**:
- 通过 WebSocket 连接发送 JSON 序列化消息。
- **HTTP 通信**:
- 客户端通过 GET 请求轮询后端,后端返回 JSON 序列化的消息列表。
- 表单提交或按钮点击通过 POST 请求发送数据。
---
#### **6. pywebio_battery 模块**
- **功能**:
- 提供便利功能,帮助快速构建 PyWebIO 应用(需额外安装 `pywebio-battery` 包)。
- 主要功能包括:
- 交互相关:`confirm()`、`popup_input()`、`redirect_stdout()`、`run_shell()` 等。
- Web 应用相关:`get_all_query()`、`set_localstorage()`、`get_cookie()`、`login()` 等。
- **示例**:
- `pywebio_battery.confirm()` 显示确认弹窗,返回用户点击结果。
---
#### **7. 用户指南**
- **核心概念**:
- PyWebIO 通过简洁的 API MatSnackBar 提供浏览器上的输出和用户交互功能。
- 支持 `put_text()`、`put_image()`、`put_table()` 等输出函数,以及 `input()`、`select()`、`file_upload()` 等输入函数。
- 目标是通过最少代码实现高效的用户交互和良好的用户体验。
---
以上是《PyWebIO v1.7.0 Documentation》的核心内容总结,涵盖了版本更新、功能特性、部署方式及核心概念。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
103 页请下载阅读 -
文档评分