6

一个超简易网站搭建神器

 2 years ago
source link: http://www.justdopython.com/2022/08/07/python-easyWeb/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

一个超简易网站搭建神器

2022-08-07

| Python

相信很多学习python的酱友们,大部分和我一样是为了提升工作效率,但是在提升自己的工作效率时,也会想着做同样工作的同事能不能也用上自己写的脚本(视工作环境而定)。

但是对于没有接触过编程的同事来说,环境的搭建就会让人崩溃,更别说是经常换电脑了。可是怎么做才能方便、快速的让同事也能用呢?我想来想去,还是搭建一个网站是最方便的,直接浏览器打开就可以用。网上查了查pythonweb框架很多,但是学习成本很高(要涉及前端、后端和css知识🤣),学习时间会很长,让新手望而却步。

终于功夫不负有心人,让我找到一个快速搭建网站的pythonpywebio,这个框架可以方便的和flaskDjango等web框架结合,一些简单的收集表什么的用它很方便、快捷,而且它的代码和python很相似,学习成本也很低。

pywebio很方便的就可以创建一个网站(用本机也行,云端服务器也行),启动之后就可以直接用浏览器浏览了。如图是我自己写的一个简易的网站,只是自己和同事用的,可以快速处理业务,提升我们的效率,利人利已😁。而且搭建的时间很短,一天我就搭建好了(大佬们只要一小时不到就能搭建好),剩下的只是完善功能的时间了。

我的网站效果展示

zyn1.jpg

是不是看着有点简陋,没有华丽的界面。因为pywebio是自动排版的,也不需要你去涉及前后端的知识,我们要的是实用的功能,酱友们就不要纠结排版什么的了,毕竟好用才是真理。

同时酱友们可也以打开我的网站去看看(我的网站),除了第一个选项,后面的选项都可以操作看看 ,因为第一个需要登录才可以操作,可以让你们看看第一个选项里面的功能列表(左上角有显示请求成功)。

zyn2.jpg

首先安装库

pip install pywebio

安装之后会有版本的提示,因为我已经安装过了,会有一些不同

zyn3.jpg

然后是导入需要的模块

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函数来实现,官方文档里是这样说的:

zyn4.jpg

个人理解:酱友们在学习的时候可以先把一些教程的代码复制过来,然后通过一系列的修改,把它改成自己能理解的形式,这样可以吃透代码的各个功能,有助于学习。

session这个函数是一个会话功能

各功能模块

网站LOGO(一个网站怎么能没有自己的LOGO呢😁)

zyn5.jpg

img用来存储图标文件,再用put_image输出到网页上,如下图:

zyn6.jpg

刚开始写的时候,没有写更新日志什么的,后来感觉写个有助于自己记一些东西,就后来加上了,我直接加在了LOGO的下面。

zyn7.jpg

put_collapse是一个可以折叠的文本显示函数,用with循环读取,可以折叠起来,省下屏幕空间,用的时候再展开。

radio列表功能选项,把所需要的功能以列表的形式展示出来

注意看:红框里的列表和下面的if选项是对应的。

zyn8.jpg

zyn9.jpg

列表对应好之后就是具体的功能实现了。

actions按钮功能

zyn10.jpg

file_upload上传文件和put_file下载文件功能

zyn11.jpg

put_text单文本输出函数

input输入函数

zyn13.jpg

put_processbarset_processbar进度条函数

zyn14.jpg

put_processbarset_processbar这两个是一对,上面用来标记进度条的位置,下面用来输出进度条的进度,在这里提醒一下需要注意的地方,进度条命名的时候最好不要和同功能的进度条命名一样,要不然会造成进度条的混乱,会出现好多进度条或者是就出现同一个。还有就是进度条设置成自动消失,必须要到头了才会消失,要不然不会消失(别问我怎么知道,踩好多坑了🤣)所以设置进度条的动态数值的时候最好是设置的大一点。

start_server(main, port=8088, debug=False, auto_open_webbrowser=False)

第一个参数是要运行的主函数,port是网站端口,可以自己设置;后面的可以省略

debug是调试用的,设置为True的时候,只要你改动了代码,保存的时候会自动重启服务器

auto_open_webbrowser是自动打开浏览器,设置为True,启动服务器就自动用浏览器打开这个网址了

酱友们可能会问:你介绍了这么多,也没说怎么用啊?那是因为官方文档写的很详细,还有代码示例,酱友们可以自己去看一下(可能比我理解的更透彻哟)。官方文档:

左上角红框那里还可以搜索自己想要了解的功能,几乎是全中文的哟。

zyn15.jpg

这里有个注意点:pywebio有个明显的缺点是没有返回上一页的功能,也可能是我能力不够,没有找到。当然也可以自己去写一个返回上一页的功能,我感觉直接用跳出循环来达到目的(已经测试过,用按钮循环的可以跳出,列表循环的就不能跳出),酱友们有好的方法可以留言讨论。

好了,今天的文章就写到这了,怎么样?是不是很方便、快捷?

还有就是有想要源码的朋友可以给我留言相互学习。写的不是很好 ,只是介绍了pywebio这个库和简单说了下自己的思路,如果你有兴趣,可以评论区里面留言讨论,一起进步呀。

欢迎点赞、评论、也可以转发给酱友,涨一波姿势~

我是派森酱,感谢各位酱友的:点赞、收藏和在看,我们下期更精彩!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK