作者: 清香客
來源:Python/ target=_blank class=infotextkey>Python 技術
相信很多學習python的醬友們,大部分和我一樣是為了提升工作效率,但是在提升自己的工作效率時,也會想著做同樣工作的同事能不能也用上自己寫的腳本(視工作環境而定)。
但是對于沒有接觸過編程的同事來說,環境的搭建就會讓人崩潰,更別說是不同的電腦系統了。可是怎么做才能方便、快速的讓同事也能用呢?我想來想去,還是搭建一個網站是最方便的,直接瀏覽器打開就可以用。網上查了查python的web框架很多,但是學習成本很高(要涉及前端、后端和css知識),學習時間會很長,讓新手望而卻步。
終于功夫不負有心人,讓我找到一個快速搭建網站的python庫pywebio,這個框架可以方便的和flask、Django等web框架結合,一些簡單的收集表什么的用它很方便、快捷,而且它的代碼和python很相似,學習成本也很低。
pywebio很方便的就可以創建一個網站(用本機也行,云端服務器也行),啟動之后就可以直接用瀏覽器瀏覽了。如圖是我自己寫的一個簡易的網站,只是自己和同事用的,可以快速處理業務,提升我們的效率,利人利已。而且搭建的時間很短,從學習到搭建,一天我就搭建好了(大佬們應該只要一小時不到就能搭建好),剩下的只是完善功能的時間了。
頁面展示
我的網站效果展示
是不是看著有點簡陋,沒有華麗的界面。因為pywebio是自動排版的,也不需要你去涉及前后端的知識,我們要的是實用的功能,醬友們就不要糾結排版什么的了,畢竟好用才是真理。
同時醬友們可也以打開我的網站去看看(我的網站),除了第一個選項,后面的選項都可以操作看看 ,因為第一個需要登錄才可以操作,可以讓你們看看第一個選項里面的功能列表(左上角有顯示請求成功)。
準備
首先安裝庫
pip install pywebio
安裝之后會有版本的提示,因為我已經安裝過了,會有一些不同
然后是導入需要的模塊
from pywebio import start_serverfrom 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列表功能選項,把所需要的功能以列表的形式展示出來
注意看:紅框里的列表和下面的if選項是對應的。
列表對應好之后就是具體的功能實現了。
actions按鈕功能
file_upload上傳文件和put_file下載文件功能
put_text單文本輸出函數
input輸入函數
put_processbar、set_processbar進度條函數
put_processbar、set_processbar這兩個是一對,上面用來標記進度條的位置,下面用來輸出進度條的進度,在這里提醒一下需要注意的地方,進度條命名的時候最好不要和同功能的進度條命名一樣,要不然會造成進度條的混亂,會出現好多進度條或者是就出現同一個。還有就是進度條設置成自動消失,必須要到頭了才會消失,要不然不會消失(別問我怎么知道,踩好多坑了)所以設置進度條的動態數值的時候最好是設置的大一點。
運行
start_server(main, port=8088, debug=False, auto_open_webbrowser=False)
第一個參數是要運行的主函數,port是網站端口,可以自己設置;后面的可以省略
debug是調試用的,設置為True的時候,只要你改動了代碼,保存的時候會自動重啟服務器
auto_open_webbrowser是自動打開瀏覽器,設置為True,啟動服務器就自動用瀏覽器打開這個網址了
醬友們可能會問:你介紹了這么多,也沒說怎么用啊?那是因為官方文檔寫的很詳細,還有代碼示例,醬友們可以自己去看一下(可能比我理解的更透徹喲)。官方文檔:
左上角紅框那里還可以搜索自己想要了解的功能,幾乎是全中文的喲。
總結
這里有個注意點:pywebio有個明顯的缺點是沒有返回上一頁的功能,也可能是我能力不夠,沒有找到。當然也可以自己去寫一個返回上一頁的功能,我感覺直接用跳出循環來達到目的(已經測試過,用按鈕循環的可以跳出,列表循環的就不能跳出),醬友們有好的方法可以留言或加入交流群討論呀。
好了,今天的文章就寫到這了,怎么樣?是不是很方便、快捷?