前言
本篇依然是圍繞著前面說過的文章進行知識展開,既然專案中涉及到網頁,咱們就從網頁開始講起吧!
Python 在 9102 年作為一門熱火朝天的語言,自然在建網站方面有著許多優秀的 web 框架,而筆者這裡的選型則是 flask。
PS:web 框架,給新手朋友們解釋下。在生活中,我們都大致了解過建樓的操作,建造樓房的過程中,一般都是先將其骨架搭建起來,在進行房屋細節加工。計算機中的 web 框架,就類似於骨架,通過某一框架來實現整體架構的搭建,至於房屋細節的實現,由你完成。
為什麼選擇 flask ?在 Python 語言中,有許多優秀的 web 框架,列舉幾個非常知名的:
各框架的讀音Django (醬狗) 無中文含義Tornado (託內鬥) 中文,龍捲風Web.py (外部點皮外) 無中文含義Flask (膚蠟死磕) 中文,燒瓶各框架的簡介Django 市場佔有率極高的框架,適合大專案,官方文件齊全Tornado 非同步高效能框架,包含許多底層細節,少而精Web.py 作者過於nb,很早被上帝請去喝茶,停止維護了Flask 微框架,輕量級,擴充套件外掛較多經以上對比,Django 適合大專案,Tornado 適合高訪問量專案,Web.py 之前筆者工作的時候用過,停止維護,沒有什麼擴充套件元件可以利用。對於本專案而言,最合適的就只有 flask 啦!~
PS:追溯到最初,Flask 誕生於 Armin Ronacher 在 2010 年愚人節開的一個玩笑。後來,它逐漸發展成為一個成熟的 Python Web 框架,越來越受到開發者的喜愛。
額外普及一個 web 知識點 - MVC :
(如果不是專業人員,可以忽略這個理論概念!)
這是一個和 web 應用相關的模式,不論是 java 開發(java 中的 web 框架採用就是這種模式),還是 python 開發。
M:Model ==> 與資料庫相關的模型層
V:Views ==> 網頁的地址,以及渲染網頁等
C:Controller ==> 訪問網頁地址後,讀取頁面資料,呼叫業務邏輯
安裝 flask新的專案,需要依賴新的環境,所以使用 pipenv 來為新專案建立一個新環境。不了解 pipenv 的,可以回顧下《你應該了解的python虛擬環境與依賴管理》。
進入 https://pypi.org/ ,搜尋 flask 。
pip list # 檢視有沒有 pipenvpipenv shell # 啟用專案虛擬環境,若無則建立pip install Flask # 安裝 flask上面安裝好 flask ,可以看到還有兩個庫也被安裝了。我們開啟 flask 的官方文件(自行搜尋 flask 的中文文件)看看:
Flask 依賴 Jinja 模板引擎和 Werkzeug WSGI 套件。所以你會看到安裝後多了這兩個庫。
第一個 web 應用學習框架,第一個 demo 必然是從官網去尋找啦。自行搜尋官網文件,可以看到簡易 demo 。
其實官方文件寫的已經很詳細了,我這裡能做的是什麼呢?改寫 demo 再來演示下。。。
from flask import Flaskapp = Flask(__name__)@app.route('/')def hello_world(): return '泥豪,世界!' if __name__ == "__main__": app.run(host='127.0.0.1', port=8080)改了成這樣,然後 pycharm 跑下就可以看到:
讓我們訪問下網頁地址:http://127.0.0.1:8080/
第一個自己的網頁搭建完了!是不是很簡單呢。。當然,如果是自己開發的情況下,可以加上以下 debug 引數,每次修改不用手動重啟,開啟後,可以觀察控制檯日誌。
app = Flask(__name__)app.config['DEBUG'] = True # 開啟 debug
上面只是個小例子,你也可以這麼皮一下:
在 return 的時候直接用 html 返回, flask 預設是支援解析的。
關於程式碼的講解,大家自行官網學習即可,不做贅述講解,官方文件解釋的很清楚了。
順便在普及個知識,如果你的電腦和你的手機處於同一 wifi 下(同一區域網)。電腦上你訪問的地址是 127.0.0.1:8080 ,那麼當你 web 專案啟動時,手機也是可以訪問的!
將程式碼 ip 位置改為:
if __name__ == "__main__": app.run(host='0.0.0.0', port=8080)
檢視電腦的內網 ip 地址,開啟 cmd (windows 快捷鍵是 win+r,輸入 cmd 即可),輸入 ipconfig :
找到,因為我這裡連線的是 wifi ,所以:
接下來開啟手機瀏覽器,訪問 http://192.168.0.106:8080/ 。如下(小米瀏覽器還預設網站不安全,給了個紅歎號!):
總結大體上介紹了下 flask 的入門簡單小 demo。後面會慢慢把 flask 一步步拓展起來,入門文章,看起來應該非常輕鬆叭!