1. 程式人生 > >第八篇 Flask中的藍圖

第八篇 Flask中的藍圖

隨著業務程式碼的增加,將所有程式碼都放在單個程式檔案中,是非常不合適的。這不僅會讓程式碼閱讀變得困難,而且會給後期維護帶來麻煩。
如下示例:我們在一個檔案中寫入多個路由,這會使程式碼維護變得困難。

如圖所示,如果我們將所有的請求方法寫在同一個處理檔案下面的話,會導致我們的程式碼顯得很沒有邏輯性,如果我們後期想要修改程式碼或者新增新的程式碼的話,就會顯得很尷尬,不知道如何的下手,此時就需要我們的所謂的藍圖來解決這個問題了,如果學過django的程式設計師可能瞭解過django中的app的作用了,沒錯,django中的app的主要作用就是將django的專案分成一個個單獨的app,然後將所有的app分配不同的處理功能,通過路由分配將它們連線成一個大的django專案,其實Flask中的藍圖和django中的app功能大同小異,下面我們大概的瞭解一下Flask的藍圖。

一、什麼是藍圖

一個藍圖定義了可用於單個應用的檢視、模版、靜態檔案等等的集合。可以把藍圖當作你的應用的管理面板。

二、藍圖的執行機制

藍圖是儲存了一組將來可以在應用物件上執行的操作。註冊路由就是一種操作,當在程式例項上呼叫route裝飾器註冊路由時,這個操作將修改物件的url_map路由對映列表。當我們在藍圖物件上呼叫route裝飾器註冊路由時,它只是在內部的一個延遲操作記錄列表defered_functions中添加了一個項。當執行應用物件的 register_blueprint() 方法時,應用物件從藍圖物件的 defered_functions 列表中取出每一項,即呼叫應用物件的 add_url_rule() 方法,這將會修改程式例項的路由對映列表。

三、藍圖的使用

(一)建立藍圖物件

(二)註冊藍圖路由

(三)在程式例項中註冊該藍圖

以模組的形式實現路由

檔案位置:
這裡寫圖片描述

manage.py

其餘資料夾和內容:
這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

藍圖路由顯示規則

檢視藍圖路由:藍圖路由可以分為兩塊,".“前面的是藍圖名稱,”."後面的是檢視函式名。
這裡寫圖片描述