Python Flask Blueprint 藍圖

語言: CN / TW / HK

Python Flask Blueprint 藍圖

本篇來了解一下 Flask 中 Blueprint 藍圖,什麼藍圖 。。就是一個分模組的擴充套件而已,用來讓不同的 業務模組api 分到不同的python檔案中 而已,和 Spring mvc 的 class 級別 的@RequestMapping("/") 差不多。。

前因:

為什麼要引入 Blueprint 藍圖呢? 因為如果預設把API介面都寫到 一個py 檔案裡面 那麼這個檔案會越來越複雜,會越來越臃腫 導致 無法維護 ,所以按照正常的開發邏輯 也需要進行模組的劃分 ,那麼就需要引入 Blueprint

1.安裝 Blueprint

需要先在環境中 使用 pip 安裝一下 Blueprint 擴充套件

pip install Blueprint

2.編寫Flask 入口 py檔案

from flask import Flask


app = Flask(__name__)

@app.route('/')
def helloworld():
    return 'Hello world python flask'
  
# 新版本應該是 不支援這樣啟動了
# if __name__ == '__main__':
#     app.run()

3.編寫User模組 user.py檔案

根據業務 可以建立新的模組 然後通過Blueprint 去註冊路由

from flask import Blueprint

user = Blueprint('user',__name__)

@user.route('/user/username')
def username():
    return 'get username : johnny'

4.Blueprint註冊到 Flask app上

在入口檔案中 把剛剛建立的 Blueprint 註冊上去

from flask import Flask

#引入 剛剛建立的 blueprint
from user import user

app = Flask(__name__)
#註冊到 flask app上
app.register_blueprint(user)

@app.route('/')
def helloworld():
    return 'Hello world python flask'

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

5.驗證

訪問:/user/username 得到如下:

訪問: / 得到如下:

總結:

使用 Blueprint很簡單 按照下面的流程

  1. pip install Blueprint

  2. 建立 新模組檔案,在其中建立Blueprint物件 如:

    # Blueprint兩個引數('藍圖名字',藍圖所在位置')
    user = Blueprint('user',__name__)
  3. Blueprint註冊到 Flask app上

    #引入 剛剛建立的 blueprint
    from user import user
    app = Flask(__name__)
    
    app.register_blueprint(user)

可以把Blueprint 理解為 Spring mvc 的 Class 級別 的@RequestMapping("/user") 差不多。。

歡迎大家訪問 個人部落格 Johnny小屋

歡迎關注個人公眾號