django 上下文管理器

2022-08-31 14:36:32 字數 703 閱讀 7584

在views中的重複**可以在上下文管理器中實現

實現的邏輯是 首先請求過來先走url指定的函式也就是views中的函式,然後在去走我們指定的上下文管理器中的邏輯 ,最後渲染到頁面中 如下:

我們在工程的user目錄下新建乙個.py檔案(process_content.py)然後將實現的邏輯寫在這個檔案下 ,實現完邏輯需要在settings-templates-options中匯入一下

總結:使用場景:模板繼承可以減少頁面內容的重複定義,實現頁面內容的重用。個人部落格右側的導航欄都是繼承base頁面從而讓**得到最大程度的復用。但是當父模板中有動態資料的話,這些動態資料在子模版中是不會顯示的。我們可以通過自定義上下文處理器來解決。

結構:上下文管理器檔名一般為context_processors.py,def  xx(request) 為乙個自定義函式,必要引數request,將裡面的內容以字典的形式返回給所有模板,模板通過 }取值。

配置:它需要被配置在 settings裡 

with上下文管理器

在執行 with 語句時,首先執行 with 後面的 open 執行完 後,會將 的結果通過 as 儲存到 f 中 然後在下面實現真正要執行的操作 在操作後面,並不需要寫檔案的關閉操作,檔案會在使用完後自動關閉 實際上,在檔案操作時,並不是不需要寫檔案的關閉,而是檔案的關閉操作在 with 的上下文...

with上下文管理器

上下文管理器 任何實現了enter 和exit 法的物件都可稱之為上下 管理 器,上下 管理器物件可以使 with 關鍵字。顯然,件 file 物件也實現 了上下 管理器 方法一class file def init self,filename,mode self.filename filename...

上下文管理器

今天我們聊聊上下文管理器,當然今天所談僅為個人觀點!今天如果不是學生面試回來跟我聊到了上下文管理器,我都忘了python中還有這麼個鬼了。特別寫一篇博文我們簡單聊聊。普通的檔案操作方式,例如 情況01 1 以寫的方式開啟檔案 f open 1.txt w 2 寫入檔案內容 f.write hello...