Flask 初始化擴(kuò)展

2021-08-11 21:17 更新

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

相當(dāng)簡(jiǎn)單:你傳遞應(yīng)用對(duì)象到它。

有兩種推薦的初始化應(yīng)用的方式:

初始化函數(shù):

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

用什么取決于你想要什么。對(duì)于 SQLite 3 擴(kuò)展,我們會(huì)使用基于類(lèi)的方法,因?yàn)樗?提供用戶一個(gè)可以承擔(dān)打開(kāi)和關(guān)閉數(shù)據(jù)庫(kù)連接的對(duì)象。

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


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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)