【Python Flask】 Web開發學習筆記——大致瞭解

首先要了解Web開發:

Web開發概念瞭解https://selfboot.cn/2016/07/28/forum_design_framework/

Web服務器:運行在物理服務器上的一個程序,等待客戶端發送請求,生成響應並將其返回到客戶端,通過HTTP協議與客戶端通信,因此也稱爲HTTP服務器。Web服務器與客戶端的工作步驟:1. 建立連接:通過TCP/IP協議建立TCP連接;2. 請求過程:客戶端向服務器發送HTTP協議請求包;3. 應答過程:服務器向客戶端發送HTTP協議應答包;4. 關閉連接。

Web服務器網關接口(WSGI):Web框架與Web服務器的接口協議,使Web框架可以適應於不同的Web服務器。詳解: https://selfboot.cn/2016/08/07/forum_design_wsgi/ 對WSGI不瞭解的話建議認真讀一下。要注意區分,應用程序application,框架framework,客戶端,Web服務器,中間件middleware。

 

Flask的學習材料:

書籍:《Flask Web開發:基於Python的Web應用開發實戰》

作者代碼地址:miguelgrinberg/flasky

 

Flask:

Flask 自由度高:支持各種類型數據庫,或者自主開發的數據庫,或者不使用數據庫。框架小,被設計爲可擴展的框架,許多功能通過擴展實現。而大型框架則原生實現了許多功能。

程序的初始化:

程序實例:

from flask import Flask

app = Flask(__name__)

Flask類的構造函數必須傳入程序主模塊的名字。所有Flask程序必須創建一個Flask實例。Web服務器使用“Web服務器網關接口”協議,將來自客戶端的請求轉交給這個實例處理。

路由與視圖函數:

路由就是處理客戶端發送的URL請求與Python函數的映射的程序。

調用Flask應用程序實例的route()來裝飾index()。即將index()註冊爲URL的主機爲'/'時的處理程序。這裏的'/'就是程序的根地址,比如http://www.example.com 。瀏覽器訪問這個地址時,服務器就會執行index()函數。函數的返回值稱爲響應response,是客戶端接收的內容。地址中由<>包圍的部分是地址的可變部分。Flask也支持對這種可變URL的處理。

@app.route('/')
def index():
    return '<h1>Hello World!</h1>'

index()這樣的函數稱爲視圖函數(view function)

程序初始化和路由設置好以後,就相當於是一個完整的Flask應用程序了,一個例子如下:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def index():
    return '<h1>Hello World!</h1>'

if __name__ == '__main__':
    app.run(debug=True)

啓動這個程序以後

,在瀏覽器中輸入http://127.0.0.1:5000/, 即可得到:

更多文章與筆記請關注:微信公衆號:二進制樹

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章