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