由于工作原因,自己写的程序不能光自己用,还要让同事们也能用才是好东西。那么做成网站是最好的选择,可是网上要资料有那么多的web框架 ,但是学习成本太高,而且时间也长,还要有一定的前后端知识,让新手望而却步。终于功夫不负有心人,让我发现了一个简易的搭建网站的web库pywebio。这个框架可以方便的和flask、Django等结合,一些简单的收集什么的用它很方便、快捷,而且它的代码和python很相似,学习成本很低。
pywebio很方便的就可以创建一个网站(用本机也行,云端服务器也行),启动之后就可以直接用浏览器浏览了。如图是我自己写的一个简易的网站,只是自己和同事用的,可以快速处理业务,提升我们的效率,利人利已。而且搭建的时间很短,一天我就搭建好了(老手只要一小时就行),剩下的只是完善功能的时间了:
小伙伴们可以打开浏览看看(网址PyWebIO Application),除了第一个,后面的选项都可以操作看看 ,因为第一个需要登录才可以操作,下面是第一个选项里面的功能列表。
pywebio有个明显的缺点是没有返回上一页的功能,也可能是我能力不够,没有找到。当然也可以自己去写一个返回上一页的功能。
进入正题,首先是先安装pip install pywebio
安装之后会有版本的提示,因为我已经安装过了,会有一些不同
然后是导入需要的模块
from pywebio import start_server
from pywebio.input import *
from pywebio.output import *
from pywebio.pin import *
from pywebio.session import *
start_server是启动服务器的;input是输入的模块组,输入的功能在这个里面;output是输出的模块组;pin是一个持续输入的功能模块,因为pywebio是一个阻塞式的输入,官方是这样说的:
所以需要持续输入的时候需要用pin函数来实现,不过我目前没有用到,之所以导入了是学习教程的时候复制过来的,一直没有动。小伙伴们在学习的时候可以先把一些教程的代码复制过来,然后通过一系列的修改,把它改成自己能理解的形式,这样可以吃透代码的各个功能,有助于学习。
session这个函数好像是前后端的一个功能,我也没有弄明白,一直没管过这个函数🤣
导入之后就是开始写,思路就是先来个公司LOGO(一个网站怎么能没有自己的LOGO呢😁)
img用来存储图标文件,再用put_image输出到网页上,如下图:
刚开始写的时候,没有写更新日志什么的,后来感觉写个有助于自己记一些东西,就后来加上了,我直接加在了LOGO的下面。
put_collapse是一个可以折叠的文本显示函数,with循环读取,可以折叠起来,省下屏幕空间,用的时候再展开。
下面就开始加入选项,以列表的形式展现
需要用的功能函数有radio列表显示
actions按钮函数
上传和下载文件函数
单文本输出函数 put_text
输入函数input
还有进度条函数put_processbar、set_processbar
这两个是一对,上面用来标记,下面用来输出进度条,在这里提醒一下需要注意的地方,进度条命名的时候最好不要和同功能的进度条命名一样,要不然会造成进度条的混乱,会出现好多进度条或者是就出现同一个。还有就是进度条设置成自动消失,必须要到头了才会消失,要不然不会消失(别问我怎么知道,踩好多坑了🤣)所以设置进度条的动态数值的时候最好是设置的大一点。
大概的思路就是:先创建LOGO,更新日志,然后就是需要的选项列表,最后就是列表里面的具体功能啦。
功能写完之后就是开启运行啦
start_server(main, port=8088, debug=False, auto_open_webbrowser=False)
第一个是要运行的自己写的函数,port是端口,可以自己设置;后面的可以省略,debug是调试用的,设置为True的时候,只要你改动了代码,一保存的时候会自动重启服务器;auto_open_webbrowser是自动打开浏览器,设置为True,启动服务器就自动用浏览器打开这个网址了。
小伙伴可能会问,你介绍了这么多,也没说怎么用啊?那是因为官方文档说的比我写的还清楚😀,还有代码示例,小伙伴们可以自己去看一下。官方文档:https://pywebio.readthedocs.io/zh_CN/latest/
可以在左上角红框那里搜索自己想要了解的功能,几乎是全中文的哟。
好了,今天的文章就写到这了,有想要源码的朋友可以给我留言相互学习。写的不是很好 ,只是介绍了pywebio这个库和简单说了下自己的思路,如果你有兴趣,可以评论区里面留言讨论,一起进步呀。