搜索

pdf文档 PyWebIO v1.8.2 Documentation

1.40 MB 118 页 0 下载 118 浏览 0 评论 0 收藏
语言 格式 评分
英语
.pdf
3
摘要
《PyWebIO v1.8.2 Documentation》详细介绍了PyWebIO的功能、安装、用户指南以及如何与现有Web框架集成。文档强调了PyWebIO的用户友好性,允许用户通过简单的Python代码与浏览器交互。新版本引入了datatable widget,并增强了基于HTTP的后端(如Flask和Django)的消息传输可靠性。此外,文档还提到了与Tornado、Flask等Web框架的集成方法,并修复了多个已知问题。
AI总结
### PyWebIO v1.8.2 文档总结 #### 1. 概述 PyWebIO 是一个用于快速开发交互式 Web 应用的 Python 库,其设计类似于终端程序,但输出内容直接在浏览器中显示。它提供了丰富的输入输出功能和交互控件,适用于快速开发 Web 应用。 --- #### 2. 主要功能 - **输入输出功能**: - 提供多种输入类型(如文本、数字、文件上传等)。 - 支持输出文本、表格、图片、文件等内容。 - 提供弹窗和通知功能。 - **会话控制**: - 支持会话管理,包括标题、页面外观和输入面板的配置。 - 提供 `local` 存储用于会话级别的数据存储。 - 支持在浏览器中执行 JavaScript 代码。 - **持久化输入**: - 通过 `pin` 模块实现输入表单的持久化,表单不会在提交后消失,可继续接收输入。 - **平台支持**: - 支持将 PyWebIO 应用集成到现有 Web 框架(如 Flask、Django、Tornado、aiohttp、FastAPI 等)。 - 支持 WebSocket 和 HTTP 协议。 - **其他功能**: - 支持第三方库集成(如数据可视化)。 - 提供类型提示和语言支持(如 Uzbek)。 - 支持打包为独立可执行文件。 --- #### 3. 新功能与更新 ##### 3.1 PyWebIO 1.8.2 更新 - **新增功能**: - 添加 `datatable` 组件(`put_datatable()`)。 - 支持通过 `config` 和 `manifest` 配置 WPA,使应用在移动设备上以原生应用形式运行。 - 支持 `max_payload_size` 参数以限制消息大小。 - **兼容性调整**: - 当使用 `put_loading()` 作为上下文管理器时,上下文内的输出内容也会被清除。 - **Bug 修复**: - 修复会话关闭后的内存泄漏问题。 - 修复 `put_datatable()` 的布局问题。 - 修复 JSON 编码错误(当 `put_datatable()` 的 `column_args` 使用元组作为键时)。 ##### 3.2 PyWebIO 1.7 更新 - **新增功能**: - 支持所有后端的会话重连(aiohttp 和 FastAPI 已支持)。 - 支持自动使用本地静态资源(当 CDN 不可用时)。 - 优化 `use_scope(clear=True)` 避免页面闪烁问题。 - **Bug 修复**: - 修复 textarea 的 `required=True` 提交问题。 - 修复脚本模式下 `auto_hold` 不可用问题。 - 修复 `put_select()` 被 `put_tabs()` 隐藏的问题。 - 修复 `put_table()` 在空数据情况下报错问题。 --- #### 4. 快速入门 - **Hello, World! 示例**: ```python def main(): output.put_text("hello world") start_server(main, port=8080) ``` - **输入功能**: ```python name = input("What's your name?") print(f"Your name is {name}") ``` - **输出功能**: ```python put_text("Hello world!") put_table([ ["Commodity", "Price"], ["Apple", "5.5"], ["Banana", "7"] ]) ``` - **集成到 Web 框架**: - **Flask**: ```python from flask import Flask from pywebio.platform.flask import webio_view app = Flask(__name__) app.add_url_rule('/tool', 'webio_view', webio_view(task_func), methods=['GET', 'POST', 'OPTIONS']) app.run(host='localhost', port=80) ``` - **Tornado**: ```python import tornado.ioloop import tornado.web from pywebio.platform.tornado import webio_handler class MainHandler(tornado.web.RequestHandler): def get(self): self.write("Hello, world") if __name__ == '__main__': application = tornado.web.Application([ (r'/', MainHandler), (r'/tool', webio_handler(task_func)) ]) application.listen(port=80, address='localhost') tornado.ioloop.IOLoop.current().start() ``` --- #### 5. 其他重要信息 - **文档格式**:文档还提供 PDF 和 Epub 格式。 - **调试与日志**:默认情况下,生产环境不会暴露错误堆栈,调试模式需手动启用。 - **性能优化**:支持 `pyinstaller` 打包为独立可执行文件。 --- #### 6. 总结 PyWebIO 通过简洁的 API 提供了强大的交互式 Web 应用开发能力,适合快速开发需要用户交互的 Web 应用。其支持多种 Web 框架和协议,适合集成到现有项目中。通过丰富的功能和良好的文档支持,PyWebIO 可以帮助开发者高效完成交互式 Web 应用的开发与部署。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 111 页请下载阅读 -
文档评分
请文明评论,理性发言.