一、什麼是Flask?

Flask是一個用Python編寫的輕量級Web框架,它簡單易用、靈活輕量,非常適合初學者快速上手開發Web應用。相比其他複雜框架(如Django),Flask更注重“按需擴展”,不需要預先配置大量組件,就能快速實現一個簡單的網頁。

二、安裝Flask

在開始之前,我們需要先安裝Flask。確保你的電腦已安裝Python(推薦Python 3.6+),然後打開終端(Windows用命令提示符,Mac/Linux用終端),執行以下命令:

pip install flask

如果提示權限問題,可嘗試用pip3 install flask(針對Python 3)。安裝完成後,輸入flask --version檢查是否成功安裝。

三、第一個Flask應用:路由與視圖函數

“路由”就像網頁的“入口”,比如訪問http://localhost:5000/時,Flask需要知道這個請求對應哪個“處理函數”(視圖函數);“視圖函數”則是處理請求並返回內容的函數。

1. 編寫基礎代碼

創建一個新的Python文件(例如app.py),輸入以下代碼:

# 導入Flask類
from flask import Flask

# 實例化Flask應用,app是應用對象
app = Flask(__name__)

# 定義路由:當用戶訪問根路徑“/”時,執行下面的函數
@app.route('/')
def home():
    # 函數返回的字符串會自動作爲網頁內容返回給用戶
    return "Hello, Flask!"

# 運行應用(僅在直接執行該腳本時生效)
if __name__ == '__main__':
    app.run()

2. 代碼解釋

  • 導入Flaskfrom flask import Flask是爲了使用Flask提供的Web開發功能。
  • 實例化appapp = Flask(__name__)創建一個Flask應用對象,__name__是Python內置變量,表示當前模塊名稱(用於定位資源路徑)。
  • 路由裝飾器@app.route('/')是關鍵!它的作用是“綁定”路由路徑(這裏是根路徑/)和下面的函數home。當用戶訪問http://localhost:5000/時,Flask會自動調用home()函數。
  • 視圖函數home()函數是處理請求的核心,它的返回值(這裏是字符串“Hello, Flask!”)會被Flask自動轉換爲HTTP響應,直接顯示在瀏覽器中。
  • 運行應用app.run()啓動Flask內置的開發服務器,默認端口是5000,地址爲http://127.0.0.1:5000

3. 運行應用並訪問

在終端執行python app.py(確保當前路徑是app.py所在目錄),你會看到類似以下輸出:

 * Serving Flask app 'app'
 * Running on http://127.0.0.1:5000 (Press CTRL+C to quit)

此時打開瀏覽器,訪問http://localhost:5000,就能看到網頁上顯示“Hello, Flask!”,恭喜你!第一個Flask頁面完成了!

四、進階:動態路由(帶參數的頁面)

除了固定路徑,Flask還支持動態路由,比如用戶訪問/user/張三時,頁面顯示“Hello, 張三!”。
修改app.py代碼,添加一個帶參數的路由:

from flask import Flask
app = Flask(__name__)

# 基礎路由(根路徑)
@app.route('/')
def home():
    return "Hello, Flask!"

# 動態路由:<username>是參數佔位符
@app.route('/user/<username>')
def user_profile(username):
    # 函數接收username參數,用於個性化返回內容
    return f"Hello, {username}!"

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

現在訪問http://localhost:5000/user/Alice,頁面會顯示“Hello, Alice!”;訪問/user/Bob,則顯示“Hello, Bob!”。

小提示:動態路由支持多種類型,比如<int:num>接收整數參數(例如/user/123num=123),<float:price>接收浮點數,默認是字符串類型。

五、總結

  1. 安裝pip install flask
  2. 核心概念
    - 路由:通過@app.route(路徑)綁定URL與視圖函數。
    - 視圖函數:處理路由請求,返回網頁內容。
    - 運行應用app.run()啓動開發服務器。
  3. 關鍵技巧
    - 用if __name__ == '__main__'確保app.run()只在直接執行腳本時生效。
    - 動態路由可通過<參數名>傳遞變量,增強頁面靈活性。

現在你已經掌握了Flask最基礎的路由和視圖函數知識,嘗試修改代碼吧!比如:
- 改路由路徑(如/about),讓首頁顯示不同內容。
- 給視圖函數返回HTML標籤(如<h1>Hello</h1>),讓頁面更美觀。

Flask的世界充滿樂趣,快去探索更多功能吧!

小夜