Flask 初始化擴展

2021-08-11 21:17 更新

許多擴展會需要某種類型的初始化步驟。比如,想象一個應用像文檔中建議的一樣 (在 Flask 中使用 SQLite 3) 正在連接到 SQLite。那么,擴展如何獲知應用對象的名稱?

相當簡單:你傳遞應用對象到它。

有兩種推薦的初始化應用的方式:

初始化函數(shù):

如果你的擴展叫做 helloworld ,你應該有一個名為 init_helloworld(app[, extra_args]) 的函數(shù)來為應用初始化擴展。它 可以附加在處理器前/后等位置。
類:
類的工作大多像初始化函數(shù),但可以在之后進一步更改其行為。例如 OAuth 擴展 的工作方式,一個 OAuth 對象提供一些諸如 OAuth.remote_app 的助手函數(shù)來創(chuàng)建一個使用 OAuth 的遠程應用的引用。

用什么取決于你想要什么。對于 SQLite 3 擴展,我們會使用基于類的方法,因為它 提供用戶一個可以承擔打開和關閉數(shù)據(jù)庫連接的對象。

關于類,重要的是它們鼓勵在模塊層內(nèi)共享。這種情況下,對象本身在任何情況下 不得存儲任何應用的特定狀態(tài),而必須可以在不同的應用間共享。


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號