首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用导入的json api禁用django-views中的缓存

使用导入的json api禁用django-views中的缓存
EN

Stack Overflow用户
提问于 2017-08-22 23:32:06
回答 1查看 124关注 0票数 0

我已经将json从api导入到我的视图中。它现在工作得很好,但不知何故,如果我进入网站,不知何故django缓存了api给出的值,因此不显示最近的值。我尝试过使用"never_cache“和"cache control”,但都不起作用。有没有可以用django或Apache做的解决方案?

我的观点

代码语言:javascript
复制
from __future__ import unicode_literals
from django.shortcuts import render
from urllib import urlopen
import json
from django.views.decorators.cache import never_cache, cache_control

response = json.loads(urlopen('http://api.fixer.io/latest').read())
usdollar = response['rates']['USD']

#@never_cache
@cache_control(max_age=0, no_cache=True, no_store=True, must_revalidate=True)
def home(request):
    return render(request, "index.html", {"usdollar":usdollar})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-22 23:37:17

目前,您正在进行模块级的API调用。这意味着它只会在模块加载时运行一次。您应该将代码移动到视图中:

代码语言:javascript
复制
#@never_cache
@cache_control(max_age=0, no_cache=True, no_store=True, must_revalidate=True)
def home(request):
    response = json.loads(urlopen('http://api.fixer.io/latest').read())
    usdollar = response['rates']['USD']
    return render(request, "index.html", {"usdollar":usdollar})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45821783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档