PyWebIo 快速构建web应用

Part1什么是 PyWebIo

PyWebIO 提供了一系列命令式的交互函数来在浏览器上获取用户输入和进行输出,将浏览器变成了一个“富文本终端”,可以用于构建简单的 Web 应用或基于浏览器的 GUI 应用。使用 PyWebIO,开发者能像编写终端脚本一样(基于 inputprint 进行交互)来编写应用,无需具备 HTMLJS 的相关知识;PyWebIO 还可以方便地整合进现有的 Web 服务。非常适合快速构建对 UI 要求不高的应用。

Part2PyWebIo 的特点

  • 使用同步而不是基于回调的方式获取输入,代码编写逻辑更自然

  • 非声明式布局,布局方式简单高效

  • 代码侵入性小,旧脚本代码仅需修改输入输出逻辑便可改造为 Web 服务

  • 支持整合到现有的 Web 服务,目前支持与 FlaskDjangoTornadoaiohttpFastAPI(Starlette)框架集成

  • 同时支持基于线程的执行模型和基于协程的执行模型

  • 支持结合第三方库实现数据可视化

Part3安装

pip3?install?-U?pywebio

Part4入门例子

我们用这个例子,来实现对数据的提交和检验。

from?pywebio.input?import?*
from?pywebio.output?import?*
from?pywebio.pin?import?*
from?pywebio?import?start_server

def?input_input():
????#?input的合法性校验
????#?自定义校验函数

????def?check_age(n):
????????if?n<1:
????????????return?"Too?Small!@"
????????if?n>100:
????????????return?"Too?Big!@"
????????else:
????????????pass

????myAge?=?input('please?input?your?age:',type=NUMBER,validate=check_age,help_text='must?in?1,100')
????print('myAge?is:',myAge)

if?__name__?==?'__main__':
????start_server(
????????applications=[input_input,],
????????debug=True,
????????auto_open_webbrowser=True,
????????remote_access=True,
????????)

效果图

Part5更多用法

1input

#?输入框
input_res?=?input("please?input?your?name:")
print('browser?input?is:',?input_res)

#?密码框
pwd_res?=?input("please?input?your?password:",type=PASSWORD)
print('password:',?pwd_res)

#?下拉框
select_res?=?select("please?select?your?city:",['北京','西安','成都'])
print('your?city?is:',select_res)

#?checkbox
checkbox_res?=?checkbox("please?confirm?the?checkbox:",options=['agree','disagree'])
print('checkbox:',?checkbox_res)

#?文本框
text_res?=?textarea("please?input?what?you?want?to?say:",rows=3,placeholder='...')
print('what?you?said?is:',text_res)

#?文件上传
upload_res?=?file_upload("please?upload?what?you?want?to?upload:",accept="image/*")

with?open
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值