Flask开发vip版HttpServer
python HttpServer
python2與python3都可以基于SimpleHTTPServer,快速創(chuàng)建一個(gè)http服務(wù)器,但方法略有不同。
首先進(jìn)入你需要設(shè)置的http服務(wù)器目錄 (我以自己電腦路徑:F:/Working~Study) ,即進(jìn)入到該目錄下,然后:
- python2: python -m SimpleHTTPServer 8888
- python3: python -m http.server 8888
使用方式與樣式都是一樣的,如下圖:
python自帶httpserver.gif
用起來沒問題,但丑出天際...
提單時(shí)間到,來說一說有哪些存在的問題吧:
既然python自帶的http服務(wù)器,存在這么多的問題,那決不能慣著它,今天咱們就自己重寫一個(gè)PythonHttpServer。
FlaskHttpServer效果展示
先來看看最終的實(shí)現(xiàn)效果:
FlaskHttpServer.gif
- 安全
添加了用戶名密碼的登陸限制(簡單寫死了用戶名密碼,可擴(kuò)展支持?jǐn)?shù)據(jù)庫讀取等方式),這個(gè)就不多說了,想了解的可以看之前發(fā)布的:
Flask使用Bootstrap模板并引入Ajax后臺(tái)完成數(shù)據(jù)刷新 - 樣式
引入了bootstrap的表單樣式,簡潔美觀 - 下載
設(shè)置所有文件均直接下載,解決了之前文本等直接打開、并且亂碼的問題 - 展示
- 仿照windows系統(tǒng),添加了名稱、修改時(shí)間、文件類型、大小
- 優(yōu)化了文件夾、文件等展示方式,并針對(duì)兩者進(jìn)行大小寫的模糊排序,
- 針對(duì)文件大小,優(yōu)化動(dòng)態(tài)展示B、KB、MB、GB
- 頁面跳轉(zhuǎn)
增加了首頁,與子路徑的快捷鍵訪問,每一層的路徑均可做為鏈接進(jìn)行跳轉(zhuǎn)
設(shè)計(jì)方案
使用藍(lán)圖構(gòu)建項(xiàng)目
雖然目前僅存在賬戶管理與頁面展示和下載兩個(gè)模塊,但使用藍(lán)圖的目的是為了便于擴(kuò)展,后期有空了還可以實(shí)現(xiàn)下上傳功能。
整體目錄如下:
項(xiàng)目目錄
針對(duì)目錄展示
獲取path后,先獲取os.listdir()結(jié)果進(jìn)行排序:
sorted(os.listdir('.'), key=lambda x: x.lower())
再將目錄分為兩個(gè)列表(文件夾、文件),并針對(duì)類型不同,分別獲取不同數(shù)據(jù),方法如下:
因?yàn)樯婕暗奈募容^多,就不一個(gè)個(gè)的往上貼了,如果大家對(duì)這個(gè)小項(xiàng)目感興趣,可以公眾號(hào)回復(fù)關(guān)鍵字[服務(wù)器]獲取源碼....
關(guān)于后續(xù)更新
最近寫的比較多的就是爬蟲和Flask,感覺有點(diǎn)膩了....
后續(xù)打算總結(jié)一個(gè)系列的數(shù)據(jù)分析或者selenium....大家覺得哪個(gè)比較感興趣,我就先開始搞哪個(gè)系列...
今天的內(nèi)容就到這里,如果覺得有幫助,歡迎將文章或者我的公眾號(hào)【清風(fēng)Python】分享給更多喜歡python的人。
畢竟像我這種瘋狂天天更新,還都是原創(chuàng)的公眾號(hào),你們很少見吧....哈哈
你也可以點(diǎn)擊右下角的在看,讓我知道你來過...
公眾號(hào)內(nèi)有整理好的各類福利書籍供大家下載,還想要更多的可以私信我,記得掃碼關(guān)注:
總結(jié)
以上是生活随笔為你收集整理的Flask开发vip版HttpServer的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机毕业设计Java农业信息化服务平台
- 下一篇: Non-UTF-8 code start