顯然,如果所有的路由都直接註冊在app應用對象上,不僅會使我們的程序結構非常混亂,還會大大增加程序的系統內存消耗。至於怎麽救,先賣了再說。
那麽如何使用藍圖來模塊化地管理程序路由呢?
可以看到app文件夾下有三個文件夾main、auth和api,其中包含視圖功能。如果您不確定flask項目結構,可以切換到Flask項目結構。
初始化。這三個文件夾中的py都被定義為藍圖。在主文件夾下舉個例子。
在應用程序對象應用程序上註冊藍圖對象。
第壹個參數是藍圖對象。
以下是可選參數。
1 . static _ fold:
與應用程序對象不同,blueprint對象在創建時默認不註冊靜態目錄的路由。我們需要在創建時指定static_folder參數。如圖所示,我們將參數設置為“static”,它是項目結構中的靜態文件夾。
所以我們可以使用地址/static/main/layout.css來訪問靜態目錄中的css、js和圖像文件。
2.url前綴
默認值為“/”# # # # #用demo.py解釋它(此演示也應在虛擬環境中運行)。
顯然,這個參數是要添加相對路徑的前綴。
當然,渲染到模板中時不必自己添加。
中間有這麽多。讓我們看看main/views.py中的內容
這個例子是直接在views.py中添加url前綴
在這個文件下,您可以通過操作blueprint對象創建壹個路由,並通過render_template()方法呈現頁面。
我通常習慣在去前端HTML文件設置路由跳轉之前做好所有工作。例如:
Url_for是通過endpoint查詢Url地址,然後找到view函數。
根據我個人的理解,我們來談談藍圖的運行機制: