Django的cache_page()函数是用于缓存页面的函数,将视图函数返回的 HTML 页面缓存到内存中,提高网站的响应速度。cache_page() 函数接受一个时间参数,即页面缓存的有效时间,超过该时间则页面会重新生成并缓存。
基本语法
from django.views.decorators.cache import cache_page
@cache_page(60) # 缓存页面有效时间为 60 秒
def my_view(request):
# 你的视图函数
实例
以下是两个使用cache_page()函数的实例:
示例 1
from django.views.decorators.cache import cache_page
from django.http import HttpResponse
@cache_page(60 * 5) # 缓存页面有效时间为 5 分钟
def home(request):
return HttpResponse("Welcome to my website!")
以上示例缓存了首页视图函数 home() 返回的 HTML 页面,有效时间为 5 分钟。
示例 2
from django.views.decorators.cache import cache_page
from django.shortcuts import render
@cache_page(60 * 10) # 缓存页面有效时间为 10 分钟
def my_view(request):
data = {'name': 'John', 'age': 30}
return render(request, 'my_template.html', data)
以上示例缓存了一个包含数据的 HTML 页面,有效时间为 10 分钟。当再次访问该页面时,将直接从内存缓存中获取页面,而不需要重新生成。
需要注意的是,cache_page()函数只能在视图函数上使用,不能在 URLconf 中使用。另外,该函数并不适用于动态数据或需要即时更新的网站。如果你的网站需要即时更新的数据,请不要使用缓存技术。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Django的 cache_page() 函数:装饰器,缓存视图结果 - Python技术站