PyWebIO v1.6.2 使用手册
1.72 MB
123 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
中文(简体) | .pdf | 3 |
摘要 | ||
文档介绍了PyWebIO v1.6.2的使用手册,详细说明了其核心特性和功能。PyWebIO是一种通过命令式API实现浏览器交互的工具,支持输入函数如input()、select()、file_upload()等,以及输出函数如put_text()、put_image()等。同时支持会话控制、布局管理和与第三方库(如Bokeh、PyInstaller)的集成,适合快速构建Web应用。 | ||
AI总结 | ||
# 《PyWebIO v1.6.2 使用手册》总结
## 概述
PyWebIO 是一个通过简单的 Python 代码实现浏览器交互的库,旨在提供良好用户体验,适合快速构建对 UI 要求不高的应用。它支持将浏览器视为“富文本终端”,允许开发者像编写终端脚本一样创建 Web 应用,无需 HTML 和 JavaScript 知认识。PyWebIO 还可整合到现有 Web 框架如 Flask、Django、Tornado、FastAPI 等中使用。
---
## 核心功能
### 输入函数
- **基本输入**:支持文本、密码、下拉选择、复选框、单选按钮、多行文本输入和文件上传等类型。
- 代码示例:
```python
age = input("How old are you?", type=NUMBER)
password = input("Input password", type=PASSWORD)
gift = select('Which gift you want?', ['keyboard', 'ipad'])
agree = checkbox("User Term", options=['I agree to terms and conditions'])
answer = radio("Choose one", options=['A', 'B', 'C', 'D'])
text = textarea('Text Area', rows=3, placeholder='Some text')
img = file_upload("Select a image:", accept="image/*")
```
- **高级输入**:支持范围输入、动态更新和取消功能。新增了 `input_update()` 函数和 `onchange` 回调,进一步增强交互体验。
- 代码示例:
```python
from pywebio.input import input_update, slider
value = slider('Select a value', min_value=0, max_value=100)
```
### 输出函数
- **内容输出**:支持文本、图片、表格、HTML、选项卡(`put_tabs()`)等输出。输出内容可通过锚点(`anchor`)定位,并支持动态更新和清除。
- 代码示例:
```python
from pywebio.output import put_text, put_image, put_tabs
put_text("Hello, world!")
put_image(src="path/to/image.jpg")
put_tabs([
{"title": "Tab1", "content": "Content of Tab1"},
{"title": "Tab2", "content": "Content of Tab2"}
])
```
### 会话控制
- **Scope 概念**:允许将输出内容组织到不同的输出域(`scope`)中,便于管理和更新。
- 使用示例:
```python
with use_scope('scope1', clear=True):
put_text('text in scope1')
```
Scope 支持嵌套,适合复杂界面布局。
- **动画与布局**:输出内容可以添加显示动画,提升用户体验。页面底部支持添加.footer。
### 浏览器交互
- **JavaScript 集成**:支持通过 `eval_js()` 执行 JavaScript 代码,并提供 Promise 支持。
---
## 高级特性
### 数据可视化
- **第三方库支持**:如 Bokeh,可实现交互式数据可视化。
```python
from bokeh.io import output_notebook, show
output_notebook(notebook_type='pywebio')
```
### 应用打包
- **PyInstaller 集成**:允许将 PyWebIO 应用打包为独立可执行文件,便于分发。
```bash
pyi-makespec --onefile app.py
pyinstaller app.spec
```
### 版本更新
- **新功能**:
- 支持 FastAPI 和 Starlette。
- 新增 `scroll_to()` 控制滚动位置。
- 修复文件上传、表格样式、大文件上传等问题。
- 优化会话管理,支持跨域访问。
- **改进功能**:
- `put_html()` 增加对 iPython 输出的兼容性。
- `put_buttons()` 新增分组和大纲参数。
---
## 总结
PyWebIO 减少了传统 Web 开发的复杂性,使得开发者可以用最少的代码快速构建交互式应用。它适合需要快速开发和原型制作的场景,同时支持与主流 Web 框架和第三方库的集成,满足多样化需求。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
116 页请下载阅读 -
文档评分