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很簡單 按照下面的流程
-
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小屋
歡迎關注個人公衆號