配置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,和去缓存获取