我有一个网址,请说/ users / comments /。可以使用HTML或使用JSON通过ajax访问此页面。
我想缓存两个版本的页面。我怎样才能做到这一点?
答案 0 :(得分:0)
我没有找到一个简单的方法来做到这一点。但是这是手动缓存并返回网站的JSON副本的代码,如果GET params?type = json否则将返回html。
观点:
if request.GET.get('type', None) == 'json' and not request.user.is_authenticated():
#check cache
cached_page = cache.get(request.get_full_path())
if cached_page:
return HttpResponse(json.dumps(cached_page), content_type="application/json")
在视图的底部:
if request.is_ajax():
rendered = render_to_string('lootr/deal-item.html', params, context)
if not request.user.is_authenticated():
cache.set(request.get_full_path(), rendered, 60 * 30)
return HttpResponse(json.dumps(rendered), content_type="application/json")