本篇來了解一下 Flask 中 Blueprint 藍圖,什麼藍圖 。。就是一個分模塊的擴展而已,用來讓不同的 業務模塊api 分到不同的python文件中 而已,和 Spring mvc 的 class 級別 的@RequestMapping("/") 差不多。。
為什麼要引入 Blueprint 藍圖呢? 因為如果默認把API接口都寫到 一個py 文件裡面 那麼這個文件會越來越復雜,會越來越臃腫 導致 無法維護 ,所以按照正常的開發邏輯 也需要進行模塊的劃分 ,那麼就需要引入 Blueprint
需要先在環境中 使用 pip 安裝一下 Blueprint 擴展
pip install Blueprint
from flask import Flask
app = Flask(__name__)
@app.route('/')
def helloworld():
return 'Hello world python flask'
# 新版本應該是 不支持這樣啟動了
# if __name__ == '__main__':
# app.run()
根據業務 可以創建新的模塊 然後通過Blueprint 去注冊路由
from flask import Blueprint
user = Blueprint('user',__name__)
@user.route('/user/username')
def username():
return 'get username : johnny'
在入口文件中 把剛剛創建的 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()
訪問:/user/username 得到如下:
訪問: / 得到如下:
使用 Blueprint很簡單 按照下面的流程
pip install Blueprint
創建 新模塊文件,在其中創建Blueprint對象 如:
# Blueprint兩個參數('藍圖名字',藍圖所在位置')
user = Blueprint('user',__name__)
Blueprint注冊到 Flask app上
#引入 剛剛創建的 blueprint
from user import user
app = Flask(__name__)
app.register_blueprint(user)
可以把Blueprint 理解為 Spring mvc 的 Class 級別 的@RequestMapping("/user") 差不多。。
歡迎大家訪問 個人博客 Johnny小屋
歡迎關注個人公眾號