配置settings.py 和上一篇的学习笔记 sessions的配置一样
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', # 存入文件缓存
'LOCATION': os.path.join(BASE_DIR,'cache'),
}
}
views.py
@cache_page(5) # 将cache函数放入缓存5s
def cache(request):
import time
cur_time = time.ctime()
return render(request,'cache.html',{'time':cur_time})
cache.html
{% load cache %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p>{{ time }}</p><br/>
<p>{{ time }}</p><br/>
{# 只给下面的time进行缓存10s,key就是随便取一个值放入缓存作为标记#}
{% cache 10 key %}
<p>{{ time }}</p><br/>
{% endcache %}
</body>
</html>
如果想全局缓存,那么在settings中加入下面2句,加的位置见图
'django.middleware.cache.UpdateCacheMiddleware', # UpdateCacheMiddleware 只有 process_reponse
'django.middleware.cache.FetchFromCacheMiddleware', # FetchFromCacheMiddleware类只有process_request,和去缓存获取