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 页请下载阅读 -
              
文档评分 
  













          PyWebIO v1.7.0 Documentation