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