python-web框架Flask-(九)藍圖

在使用flask進行項目開發時,會把各個功能給拆分,通常視圖函數與配置文件是分開的,實例化flask時,會存在一個循環引入的問題(這塊兒不多說了 百度好多),藍圖就是解決循環引入的一種方案,它的作用:

可以代替flask實例app,在視圖函數中,就可以直接使用藍圖來註冊路由:

使用藍圖:

     (1)安裝藍圖插件:pip install flask-blueprint 

( 在視圖函數的文件中: )

     (2)引入藍圖模塊:from flask import Blueprint

     (3)實例化藍圖:blue = Blueprint('blue',__name__) ,

              參數一:  ‘blue’ 是藍圖的名字(自定義的),且藍圖名字要唯一,因爲可以註冊多個藍圖;

              參數二:藍圖所在的模塊。

( 在flask初始化的基礎文件配置中註冊藍圖: )

     (4)首先引入 視圖函數中的藍圖實例 from xxx import blue

     (5)把藍圖註冊到flask實例中  app.register_blueprint ( blue )   參數是藍圖實例

 

下邊我們把功能拆分下:

manage.py   和 user.py 是同級文件:

manage.py:

# manege.py

from flask import Flask
from user import blue# 引入user模塊中的 藍圖實例 blue
app = Flask(__name__)
app.register_blueprint(blue) # 註冊路由
if __name__ == '__main__':
    app.run(debug=True)

user.py :

# 從flask中導入藍圖
from flask import Blueprint,render_template 
blue = Blueprint('user',__name__) # 實例化藍圖,參數一:藍圖名字(唯一的);參數二:藍圖所在的模塊

# 使用藍圖來註冊路由
@blue.route('/')
def fn():
    return render_template('html.html')

運行manage.py:

關於藍圖的應用就這麼些,以後會及時更新新知識!!!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章