站点缓存
MIDDLEWARE_CLASSES = [
'django.middleware.cache.UpdateCacheMiddleware',#增加 必须放最上
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.cache.FetchFromCacheMiddleware',#增加 必须放最后
]
CACHE_MIDDLEWARE_ALIAS = 'default'
CACHE_MIDDLEWARE_SECONDS = 10 #失效的时间 秒
CACHE_MIDDLEWARE_KEY_PREFIX = 'ValexCache' #区分网站
view缓存
方式1 views.py 增加装饰器
from django.shortcuts import render, render_to_response
from datetime import datetime
from django.views.decorators.cache import cache_page #新增
# Create your views here.
@cache_page(10, cache='default', key_prefix='IndexView')#新增,
def index(request):
dt = datetime.now().second
return render_to_response('index.html', {'dt':str(dt)})
from django.conf.urls import url
from django.contrib import admin
from blog import views
from django.views.decorators.cache import cache_page #新增
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/', cache_page(5)(views.index), name='index'), #视图名前修改
如果站点和视图都定义了过期时间,按视图为准