藍圖的定義
藍圖 /Blueprint 是 Flask 應用程序組件化的方法,可以在一個應用內或跨越多個項目共用藍圖。使用藍圖可以極大地簡化大型應用的開發難度,也為 Flask 擴展 提供了一種在應用中注冊服務的集中式機制。
藍圖的應用場景
(1) 把一個應用分解為一個藍圖的集合。這對大型應用是理想的。一個項目可以實例化一個應用對象,初始化幾個擴展,并注冊一集合的藍圖。
(2) 以 URL 前綴和/或子域名,在應用上注冊一個藍圖。 URL 前綴/子域名中的參數即成為這個藍
圖下的所有視圖函數的共同的視圖參數(默認情況下)。
(3) 在一個應用中用不同的 URL 規則多次注冊一個藍圖。
(4) 通過藍圖提供模板過濾器、靜態文件、模板和其它功能。一個藍圖不一定要實現應用或者視圖函數。
(5) 初始化一個 Flask 擴展時,在這些情況中注冊一個藍圖。
藍圖的缺點
不能在應用創建后撤銷注冊一個藍圖而不銷毀整個應用對象。
使用藍圖的三個步驟
(1) 創建一個藍圖對象
(2) 在這個藍圖對象上進行操作 ,例如注冊路由、指定靜態文件夾、注冊模板過濾器...
(3) 在應用對象上注冊這個藍圖對象