不容易!找到一個(gè)Python的超簡易網(wǎng)站搭建神器
相信很多學(xué)習(xí)python的友友們,大部分和我一樣是為了提升工作效率,但是在提升自己的工作效率時(shí),也會(huì)想著做同樣工作的同事能不能也用上自己寫的腳本(視工作環(huán)境而定)。
但是對于沒有接觸過編程的同事來說,環(huán)境的搭建就會(huì)讓人崩潰,更別說是不同的電腦系統(tǒng)了。可是怎么做才能方便、快速的讓同事也能用呢?我想來想去,還是搭建一個(gè)網(wǎng)站是最方便的,直接瀏覽器打開就可以用。網(wǎng)上查了查python的web框架很多,但是學(xué)習(xí)成本很高(要涉及前端、后端和css知識??),學(xué)習(xí)時(shí)間會(huì)很長,讓新手望而卻步。
終于功夫不負(fù)有心人,讓我找到一個(gè)快速搭建網(wǎng)站的python庫pywebio,這個(gè)框架可以方便的和flask、Django等web框架結(jié)合,一些簡單的收集表什么的用它很方便、快捷,而且它的代碼和python很相似,學(xué)習(xí)成本也很低。
pywebio很方便的就可以創(chuàng)建一個(gè)網(wǎng)站(用本機(jī)也行,云端服務(wù)器也行),啟動(dòng)之后就可以直接用瀏覽器瀏覽了。如圖是我自己寫的一個(gè)簡易的網(wǎng)站,只是自己和同事用的,可以快速處理業(yè)務(wù),提升我們的效率,利人利已??。而且搭建的時(shí)間很短,從學(xué)習(xí)到搭建,一天我就搭建好了(大佬們應(yīng)該只要一小時(shí)不到就能搭建好),剩下的只是完善功能的時(shí)間了。
頁面展示
我的網(wǎng)站效果展示
是不是看著有點(diǎn)簡陋,沒有華麗的界面。因?yàn)閜ywebio是自動(dòng)排版的,也不需要你去涉及前后端的知識,我們要的是實(shí)用的功能,友友們就不要糾結(jié)排版什么的了,畢竟好用才是真理。
同時(shí)友友們可也以打開我的網(wǎng)站去看看(我的網(wǎng)站),除了第一個(gè)選項(xiàng),后面的選項(xiàng)都可以操作看看 ,因?yàn)榈谝粋€(gè)需要登錄才可以操作,可以讓你們看看第一個(gè)選項(xiàng)里面的功能列表(左上角有顯示請求成功)。
準(zhǔn)備
首先安裝庫
pip install pywebio
- 安裝之后會(huì)有版本的提示,因?yàn)槲乙呀?jīng)安裝過了,會(huì)有一些不同
然后是導(dǎo)入需要的模塊
from pywebio import start_server
from pywebio.input import *
from pywebio.output import *
from pywebio.pin import *
from pywebio.session import *
說一下各模塊的作用
start_server是用來啟動(dòng)服務(wù)器的
input是輸入的模塊組,輸入的功能在這個(gè)里面
output是輸出的模塊組,輸出的功能在這個(gè)里面
pin是一個(gè)持續(xù)輸入的功能模塊,因?yàn)閜ywebio是一個(gè)阻塞式的輸入,所以需要持續(xù)輸入的時(shí)候需要用pin函數(shù)來實(shí)現(xiàn),官方文檔里是這樣說的:
- 個(gè)人理解:友友們在學(xué)習(xí)的時(shí)候可以先把一些教程的代碼復(fù)制過來,然后通過一系列的修改,把它改成自己能理解的形式,這樣可以吃透代碼的各個(gè)功能,有助于學(xué)習(xí)。
session這個(gè)函數(shù)是一個(gè)會(huì)話功能
各功能模塊
網(wǎng)站LOGO(一個(gè)網(wǎng)站怎么能沒有自己的LOGO呢??)
img用來存儲(chǔ)圖標(biāo)文件,再用put_image輸出到網(wǎng)頁上,如下圖:
剛開始寫的時(shí)候,沒有寫更新日志什么的,后來感覺寫個(gè)有助于自己記一些東西,就后來加上了,我直接加在了LOGO的下面。
put_collapse是一個(gè)可以折疊的文本顯示函數(shù),用with循環(huán)讀取,可以折疊起來,省下屏幕空間,用的時(shí)候再展開。
radio列表功能選項(xiàng),把所需要的功能以列表的形式展示出來
- 注意看:紅框里的列表和下面的if選項(xiàng)是對應(yīng)的。
列表對應(yīng)好之后就是具體的功能實(shí)現(xiàn)了。
actions按鈕功能
file_upload上傳文件和put_file下載文件功能
put_text單文本輸出函數(shù)
input輸入函數(shù)
put_processbar、set_processbar進(jìn)度條函數(shù)
- put_processbar、set_processbar這兩個(gè)是一對,上面用來標(biāo)記進(jìn)度條的位置,下面用來輸出進(jìn)度條的進(jìn)度,在這里提醒一下需要注意的地方,進(jìn)度條命名的時(shí)候最好不要和同功能的進(jìn)度條命名一樣,要不然會(huì)造成進(jìn)度條的混亂,會(huì)出現(xiàn)好多進(jìn)度條或者是就出現(xiàn)同一個(gè)。還有就是進(jìn)度條設(shè)置成自動(dòng)消失,必須要到頭了才會(huì)消失,要不然不會(huì)消失(別問我怎么知道,踩好多坑了??)所以設(shè)置進(jìn)度條的動(dòng)態(tài)數(shù)值的時(shí)候最好是設(shè)置的大一點(diǎn)。
運(yùn)行
start_server(main, port=8088, debug=False, auto_open_webbrowser=False)
第一個(gè)參數(shù)是要運(yùn)行的主函數(shù),port是網(wǎng)站端口,可以自己設(shè)置;后面的可以省略
debug是調(diào)試用的,設(shè)置為True的時(shí)候,只要你改動(dòng)了代碼,保存的時(shí)候會(huì)自動(dòng)重啟服務(wù)器
auto_open_webbrowser是自動(dòng)打開瀏覽器,設(shè)置為True,啟動(dòng)服務(wù)器就自動(dòng)用瀏覽器打開這個(gè)網(wǎng)址了
友友們可能會(huì)問:你介紹了這么多,也沒說怎么用???那是因?yàn)楣俜轿臋n寫的很詳細(xì),還有代碼示例,友友們可以自己去看一下(可能比我理解的更透徹喲)。官方文檔:
- 左上角紅框那里還可以搜索自己想要了解的功能,幾乎是全中文的喲。
總結(jié)
這里有個(gè)注意點(diǎn):pywebio有個(gè)明顯的缺點(diǎn)是沒有返回上一頁的功能,也可能是我能力不夠,沒有找到。當(dāng)然也可以自己去寫一個(gè)返回上一頁的功能,我感覺直接用跳出循環(huán)來達(dá)到目的(已經(jīng)測試過,用按鈕循環(huán)的可以跳出,列表循環(huán)的就不能跳出),友友們有好的方法可以留言討論呀。
好了,今天的文章就寫到這了,怎么樣?是不是很方便、快捷?