Flask 為什么使用藍(lán)圖?

2021-06-30 14:58 更新

Flask 中的藍(lán)圖為這些情況設(shè)計(jì):

  • 把一個(gè)應(yīng)用分解為一個(gè)藍(lán)圖的集合。這對(duì)大型應(yīng)用是理想的。一個(gè)項(xiàng)目可以實(shí)例化 一個(gè)應(yīng)用對(duì)象,初始化幾個(gè)擴(kuò)展,并注冊(cè)一集合的藍(lán)圖。
  • 以 URL 前綴和/或子域名,在應(yīng)用上注冊(cè)一個(gè)藍(lán)圖。 URL 前綴/子域名中的參數(shù)即 成為這個(gè)藍(lán)圖下的所有視圖函數(shù)的共同的視圖參數(shù)(默認(rèn)情況下)。
  • 在一個(gè)應(yīng)用中用不同的 URL 規(guī)則多次注冊(cè)一個(gè)藍(lán)圖。
  • 通過(guò)藍(lán)圖提供模板過(guò)濾器、靜態(tài)文件、模板和其它功能。一個(gè)藍(lán)圖不一定要實(shí)現(xiàn)應(yīng) 用或者視圖函數(shù)。
  • 初始化一個(gè) Flask 擴(kuò)展時(shí),在這些情況中注冊(cè)一個(gè)藍(lán)圖。

Flask 中的藍(lán)圖不是即插應(yīng)用,因?yàn)樗鼘?shí)際上并不是一個(gè)應(yīng)用——它是可以注冊(cè),甚至 可以多次注冊(cè)到應(yīng)用上的操作集合。為什么不使用多個(gè)應(yīng)用對(duì)象?你可以做到那樣 (見(jiàn) 應(yīng)用調(diào)度 ),但是你的應(yīng)用的配置是分開(kāi)的,并在 WSGI 層管理。

藍(lán)圖作為 Flask 層提供分割的替代,共享應(yīng)用配置,并且在必要情況下可以更改所 注冊(cè)的應(yīng)用對(duì)象。它的缺點(diǎn)是你不能在應(yīng)用創(chuàng)建后撤銷(xiāo)注冊(cè)一個(gè)藍(lán)圖而不銷(xiāo)毀整個(gè) 應(yīng)用對(duì)象。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)