日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Django4.0教程:Django4.0 緩存框架-視圖緩存

django.views.decorators.cache.cache_page(timeout, *, cache=None, key_prefix=None)

使用緩存框架的通用辦法是緩存視圖結(jié)果。?django.views.decorators.cache? 定義了一個 ?cache_page?裝飾器,它將自動緩存視圖的響應(yīng):

創(chuàng)新互聯(lián)公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計制作、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元武義做網(wǎng)站,已為上家服務(wù),為武義各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

from django.views.decorators.cache import cache_page

@cache_page(60 * 15)
def my_view(request):
    ...

?cache_page?使用了一個單獨的參數(shù):緩存過期時間,以秒為單位。在上面的例子里,?my_view()? 視圖的結(jié)果將緩存15分鐘。(注意,我們用 60 * 15 這樣的方式編寫,目的是方便閱讀。 60 * 15 將計算為 900,也就是15分鐘乘以每分鐘60秒。)
?cache_page?設(shè)置的緩存超時優(yōu)先于 ?Cache-Control?頭中的 ?max-age?指令。
和緩存站點一樣,對視圖緩存,以 URL 為鍵。如果許多 URL 指向相同的視圖,每個 URL 將被單獨緩存。繼續(xù)以 ?my_view?為例,如果你的 ?URLconf?是這樣的:

urlpatterns = [
    path('foo//', my_view),
]

那么 ?/foo/1/? 和 ?/foo/23/? 的請求將被分別緩存,正如你所料。但一旦部分 URL (比如 ?/foo/23/? )已經(jīng)被請求,那么隨后的請求都將使用緩存。
?cache_page?也可以傳遞可選關(guān)鍵字參數(shù) ?cache?,它指引裝飾器在緩存視圖結(jié)果時使用特定的緩存(來自 ?CACHES?設(shè)置)。默認情況下,將使用默認緩存,但你可以指定任何你想要的緩存:

@cache_page(60 * 15, cache="special_cache")
def my_view(request):
    ...

你可以基于每個視圖覆蓋緩存前綴。?cache_page?傳遞了一個可選關(guān)鍵字參數(shù) ?key_prefix?,它的工作方式與中間件的 ?CACHE_MIDDLEWARE_KEY_PREFIX?相同。可以這樣使用它:

@cache_page(60 * 15, key_prefix="site1")
def my_view(request):
    ...

?key_prefix?和 ?cache?參數(shù)可能需要被一起指定。?key_prefix?參數(shù)和 ?CACHES?下指定的 ?KEY_PREFIX?將被連接起來。
此外, ?cache_page?在響應(yīng)中自動設(shè)置 ?Cache-Control? 和 ?Expires?頭, 這會影響 下游緩存.

在 URLconf 中指定視圖緩存

上一節(jié)的例子硬編碼了視圖被緩存的事實,因為 ?cache_page?改變了 ?my_view?函數(shù)。這種方法將你的視圖和緩存系統(tǒng)耦合起來,這樣并不理想。例如,你可能想在其他沒有緩存的站點上重用這個視圖函數(shù),或者你可能想分發(fā)這個視圖給那些想使用視圖但不想緩存它們的人員。解決這些問題的辦法是在 ?URLconf?中指定視圖緩存,而不是視圖函數(shù)旁邊指定。
當(dāng)你在 ?URLconf?中使用 ?cache_page?時,可以這樣包裝視圖函數(shù)。這是之前提到的 ?URLconf?:

urlpatterns = [
    path('foo//', my_view),
]

將 ?my_view?包含在 ?cache_page?中:

from django.views.decorators.cache import cache_page

urlpatterns = [
    path('foo//', cache_page(60 * 15)(my_view)),
]

當(dāng)前名稱:創(chuàng)新互聯(lián)Django4.0教程:Django4.0 緩存框架-視圖緩存
文章位置:http://www.5511xx.com/article/cdeidjd.html