Flask 為什么使用藍圖?

2021-06-30 14:58 更新

Flask 中的藍圖為這些情況設(shè)計:

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

Flask 中的藍圖不是即插應(yīng)用,因為它實際上并不是一個應(yīng)用——它是可以注冊,甚至 可以多次注冊到應(yīng)用上的操作集合。為什么不使用多個應(yīng)用對象?你可以做到那樣 (見 應(yīng)用調(diào)度 ),但是你的應(yīng)用的配置是分開的,并在 WSGI 層管理。

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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號