1. 程式人生 > >flask Blueprint藍圖

flask Blueprint藍圖

首先要了解藍圖的作用,模擬場景在團隊開發過程中團隊每個人都在寫自己負責的功能模組,那多個py檔案模板,我們如果完成後需要執行是不是要執行多個服務?但是我們的專案是一個整體,而不是零散的,所以我們怎麼把很多py檔案用一個run()啟動呢,也就是怎麼把他們構造在一起直接啟動整體呢。其實並不難以前我們是不是也接觸過類似的比如 Flask裡的網頁模板(render_template)中繼承(Block)包含(include)機制,同理 Blueprint 藍圖也是類似的功能。

首先是主框架:

#使用藍圖需要依賴Blueprint庫
from flask import Flask,Blueprint

#匯入自定義的藍圖文集,from py檔名 import建立好的藍圖名 from day6_part import mypart app = Flask(__name__) app.config.from_pyfile('config.ini') #註冊定義好的藍圖檔案,url_prefix給藍圖url加字首,這裡的字首是必須的不然會跟主框架路由衝突 app.register_blueprint(mypart,url_prefix='/part') @app.route('/') def index(): return "這是首頁" if __name__ == "__main__
": app.run()

需要植入到主框架的功能模組py檔案

from flask import Flask,Blueprint

app = Flask(__name__)

app.config.from_pyfile('config.ini')

#註冊藍圖,主框架呼叫的是這裡賦值的變數名Blueprint內傳入以後會用到的藍圖名和Flask物件的內建變數
mypart = Blueprint('mypart',__name__)


# 這裡我們就直接取裝飾藍圖即可
@mypart.route('/')
def index():
    return "這裡是藍圖的副功能
"