python网页开发教程(python制作网页的基本步骤)
发布时间:2022-07-12 21:53:28
文章来源:快乐收录网
访问次数:
想要构建一个 Web 应用,提供表格和图表的展示,以及输入框输入等功能,掌握 HTML、CSS 和 Javascript 几乎是必须的。然而,对于一些入门的开发者,以及众多的数据科学研究者而言,Web 前端开发技术有一定的门槛。同时,对于这部分开发者而言,往往 Python 语言是他们最为熟悉的技术。
那么,能不能仅仅使用 Python,就能方便地构建美观好用的 Web 网页应用呢?PyWebIO 使这成为可能。
PyWebIO
简介
PyWebIO,是 wang0618 在 Github 上开源的交互式 Python Web 应用构建平台,目前版本为 v1.2.3。
PyWebIO提供了一系列命令式的交互函数来在浏览器上获取用户输入和进行输出,将浏览器变成了一个“富文本终端”,可以用于构建简单的Web应用或基于浏览器的GUI应用。 PyWebIO还可以方便地整合进现有的Web服务,让你不需要编写HTML和JS代码,就可以构建出具有良好可用性的应用。
PyWebIO
使用
PyWebIO 功能强大,且
- 使用同步而不是基于回调的方式获取输入,代码编写逻辑更自然
- 非声明式布局,布局方式简单高效
- 代码侵入性小,旧脚本代码仅需修改输入输出逻辑便可改造为Web服务
- 支持整合到现有的Web服务,目前支持与Flask、Django、Tornado、aiohttp、FastAPI框架集成
- 同时支持基于线程的执行模型和基于协程的执行模型
- 支持结合第三方库实现数据可视化
使用 PyWebIO,我们可以很简单地构建较为复杂的网页应用。
PyWebIO
从上图可以看到,通过实时输入 Python 命令,我们得到了一个展示数据表格、图片、公式、按钮的网页应用。
我们还可以构建能够进行数据输入的网页,,同样通过 Python 命令,实时构建一个表单:
PyWebIO
PyWebIO 要求 Python 3.5.2+,使用 PyPI 安装:
pip3 install -U pywebio
我们来看一个简单的例子,实现一个简单的计算 BMI 指数的脚本:
from pywebio.input import input, FLOAT from pywebio.output import put_text def bmi(): height = input("请输入你的身高(cm):", type=FLOAT) weight = input("请输入你的体重(kg):", type=FLOAT) BMI = weight / (height / 100) ** 2 top_status = [(14.9, '极瘦'), (18.4, '偏瘦'), (22.9, '正常'), (27.5, '过重'), (40.0, '肥胖'), (float('inf'), '非常肥胖')] for top, status in top_status: if BMI <= top: put_text('你的 BMI 值: %.1f,身体状态:%s' % (BMI, status)) break if __name__ == '__main__': bmi()
可以看到,这个脚本的核心只是简单地对输入的体重和身高进行 BMI 指数的计算,然后按范围判断胖瘦程度,最终输出结果。
如果使用标准命令行的输入输出,这就只是一个命令行脚本程序而已。而当使用了 pywebio 提供的输入输出函数后,运行程序,就能够自动生成一个网页应用,拥有两个输入框,分别输入身高和体重,最终计算展示 BMI 指数结果。
PyWebIO
你可以按照编写控制台程序的逻辑编写PyWebIO应用,只不过这里的终端变成了浏览器。通过PyWebIO提供的命令式API, 你可以简单地调用 put_text 、 put_image 、 put_table 等函数输出文本、图片、表格等内容到浏览器,也可以调用 input 、 select 、 file_upload 等函数在浏览器上显示不同表单来接收用户的输入。此外PyWebIO中还提供了点击事件、布局等支持,让你可以使用最少的代码完成与用户的交互, 并尽可能提供良好的用户体验。
在PyWebIO中,有两种方式用来运行PyWebIO应用:作为脚本运行和使用 start_server() 或 path_deploy() 来作为Web服务运行:
- 在Server模式下,PyWebIO会启动一个Web服务来持续性地提供服务。当用户访问服务地址时,PyWebIO会开启一个新会话并运行PyWebIO应用。
- Script模式下,在任何位置都可以调用PyWebIO的交互函数。如果用户在会话结束之前关闭了浏览器,那么之后会话内对于PyWebIO交互函数的调用将会引发一个 SessionException 异常。
可以将PyWebIO应用集成到现有的Python Web项目中,PyWebIO应用与Web项目共用一个Web框架。目前支持与Flask、Tornado、Django和aiohttp Web框架的集成。
PyWebIO 提供了丰富的第三方生态,其中比较重要的就是数据可视化。对于数据科学研究者而言,可以不必学习 Web 前端技术,也不必安装各种复杂的环境,就能实现一个可以向其他人展示数据结果的 Web 应用,这是十分便利的。PyWebIO 提供了包括 Bokeh、plotly、cutecharts.py、Pyecharts 等1可视化库的集成,能够十分方便地完成数据的可视化。
PyWebIO
PyWebIO
总结
PyWebIO 提供了一系列命令式的交互函数,来在浏览器上获取用户输入和进行输出,可以构建 Web 应用或基于浏览器的 GUI 应用,而无需学习前端相关技术。PyWebIO 还提供了 Web 服务框架集成,和第三方可视化库的集成,使得数据的展示变得更为简单易实现。
《python网页开发教程(python制作网页的基本步骤)》更新于时间:2022-07-12 21:53:28;由本站小编进行发布,目前浏览的小伙伴达到,感谢你们的支持,后期快乐收录网小编会继续为大家更新更多相关的文章,希望广大网友多多关注快乐收录网工作心得栏目,如果觉得本站不错,那就给我们一个分享的支持吧!
python网页开发教程(python制作网页的基本步骤)特别声明
本站快乐收录网提供的python网页开发教程(python制作网页的基本步骤)都来源于网络,不保证文章的准确性和真实性,同时,对于该文章所造成的影响,不由快乐收录网实际控制,在2022-07-12 21:53:28收录时,该网页上的内容,都属于合规合法,如有侵权违规,可以直接联系网站管理员进行整改或删除,快乐收录网不承担任何责任。
快乐收录网:致力于优质、实用的网络站点资源收集与分享!本文地址:https://nav.klxjz.cn/zixundaquan/wzyh/202207/8746.html转载请注明标签:
- 1华为 Nova 10 和 Nova 10 Pro 配备 120 Hz OLED 显示屏
- 2Realme GT2 Master Explorer Edition设计随着高端智能手机发布之旅的开始而揭晓
- 3Wi-Fi 7 技术将支持 40Gbps 的速度
- 4小米 11T 和 11T Pro 配备相同的 108 MP 摄像头
- 5Garmin Forerunner 955 系列收到软件版本 11.12
- 6到 2026 年翻新智能手机市场的价值预计将增长近 460 亿美元
- 7小米发布 Band 7 Pro 固件更新 进行各种改进和优化
- 8苹果最新的MacBook Air产品将影响 Wintel 笔记本电脑的销售
- 9戴尔 Precision 7770 和 7670 现在可与英特尔第 12 代博锐 CPU 和 Nvidia RTX A5500 显卡一起购买
- 10System76 使用 Intel Alder Lake-U 处理器升级其基于 Linux 的 Lemur Pro 笔记本电脑
- 11苹果计划在今年发布标准 Watch Series 更新的替代品
- 12OnePlus的10T发布了新旗舰智能手机发布前的最高AnTuTu分数
- 13摩托罗拉 Edge 30:搭载 Android 12 的超薄中端智能手机
- 14小米 12智能手机相机是如何拍摄的
- 15NintendoSwitchOnline下周将获得被低估的神奇宝贝经典
- 16MUJI x Honda MS01 电动自行车透露最高时速 25 公里和无钥匙解锁功能
- 17Infinix 最新 Note 12 系列智能手机升级至 5G 起价低于 200 美元
- 18Amazfit 正在举行 2022 年年中的促销活动
- 19AMD 的 RDNA 3 Chiplet 专利详述了尖端着色器优化架构