Blueprint——Flask中的路由管理器

一、什麼是Blueprint?爲何要使用它?

Blueprint有個很形象的中文名稱——藍圖,提起藍圖,是否想起了小時候我們曾對未來的種種規劃?是否記得,我們要在人生的藍圖上幹啥幹啥?簡而言之,我個人看來,藍圖就是對一組事務的安排和規劃,放到flask中,便成了對路由的一種規劃。
使用它的原因有兩點:

  • 解決上帝文件,即循環引用問題

    循環引用圖示

– 如上圖,這種引用方式便會造成循環引用,造成項目啓動報錯。

  • 解決文件冗長,難以管理問題
    – 上面的循環引用,有人可能會說,把路由函數全寫在入口文件裏不就行了嗎?誠然,這樣的確不會報錯,但試想下,若我們將所有的路由都寫入口文件中,五六個沒啥問題,甚至一二十個都勉強可接受,但更多呢?可想而知,隨着項目深入,這個文件將變得十分可怕,項目的擴展和維護會變得極其糟糕!
    因此,對路由進行合理的管理是必須的!

二、使用方法

知道了blueprint爲何物,那自然要進行使用。下面是基本的使用方法。

2.1 實例化及路由創建
from flask import Blueprint
blue = Blueprint('user_blue',__name__) #實例化

@blue.route('/use-blueprint')
def use_blueprint():
    return '藍圖的基本使用方法'

注:新版的flask中已經集成了blueprint,直接導入即可。user_blue爲當前路由名稱,可自由定義。

2.2 註冊
from view import blue #導入藍圖實例
app.register_blueprint(blueprint=blue,url_prefix='/user/')

注:註冊寫在項目入口文件中!url_prefix:指定該路由的統一前綴,一般根據操作的實體類命名。

2.3 訪問

假設本地訪問,端口爲默認的5000,訪問上面例子中use_blueprint函數,那可以寫:

 1、http://127.0.0.1:5000/user/use-blueprint   #瀏覽器訪問
 
 #前端模板語法訪問,url_for('路由名稱.路由函數名')
 2{{ url_for('user_blue.use_blueprint') }} 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章