我在我的邊欄中有一小段代碼。該片段將在每個頁面上可見,雖然便宜(我的超級慢速上網本大約50ms!),但它會改變很少,我很想緩存它(部分原因是我還沒有使用Django的緩存框架,我想學習)。對不經常變化的代碼段使用中間件或自定義模板標記
我不確定這裏最好的方法是 - 中間件還是自定義模板標籤?我不確定用這些方法實現緩存是多麼容易。這是想要做的標準事情(即每個頁面上可見片段的片段緩存),我確信有一種方法可以做到這一點,但我找不到它是什麼。
你怎麼做到的?
我在我的邊欄中有一小段代碼。該片段將在每個頁面上可見,雖然便宜(我的超級慢速上網本大約50ms!),但它會改變很少,我很想緩存它(部分原因是我還沒有使用Django的緩存框架,我想學習)。對不經常變化的代碼段使用中間件或自定義模板標記
我不確定這裏最好的方法是 - 中間件還是自定義模板標籤?我不確定用這些方法實現緩存是多麼容易。這是想要做的標準事情(即每個頁面上可見片段的片段緩存),我確信有一種方法可以做到這一點,但我找不到它是什麼。
你怎麼做到的?
我不認爲你需要使用中間件。自定義模板標籤可以爲此工作。由於你正在做類似狀態消息的事情,因此與當前視圖無關,因此標記絕對合適。
只需設置緩存後端(this is very easy to do),您將可以訪問cache.set()
和cache.get()
方法,您可以使用這些方法來存儲和檢索狀態消息。每當狀態消息更新時務必清除緩存。
+1 - 我已將此標記爲接受的答案,但Ned的答案也沒有錯。 – 2009-09-21 22:22:22
這聽起來很適合Template fragment caching。
這很好,只要內容改變後會有延遲並不重要。 – Fragsworth 2009-09-21 10:00:39
@Fragsworth - 它沒有。 – 2009-09-21 10:02:48
+1我 - 謝謝! – 2009-09-21 22:24:18
你能定義'snippet'嗎? – Fragsworth 2009-09-21 09:30:28
狀態消息(您將在推文中發佈的內容)。 – 2009-09-21 09:35:32