无论设置如何,Django都会缓存请求

时间:2016-11-19 00:58:22

标签: python django caching

我有一个名为'results.html'的页面,用户可以从中提交表单。问题是有时我提交表单并且响应是从缓存中获取的,有时它实际上是在views.py中调用响应方法。这是一个例子:

用户提交'模仿游戏':正确的响应返回给用户,我的响应功能在视图中打印

[19/Nov/2016 00:50:21] "POST /results/ HTTP/1.1" 200 2414
Response function called!!
Search term: The Imitation Game`

到控制台。但是,如果用户再次搜索(或他/她过去搜索过的任何其他搜索词),则回复:

[19/Nov/2016 00:51:05] "GET /get_data?query=The%20Imitation%20Game HTTP/1.1" 200 18858

显然,根本没有调用响应方法。这在前端也非常明显,因为在后续请求中会将过时的数据返回给用户。

这里的踢球者是我正在使用虚拟缓存:

# Use dummy cache for development and testing
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
    },
    'deployment': {
        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
    }
}

DEBUG = True。我也将响应方法标记如下:

@never_cache
def results(request):

我清除了浏览器缓存,所以也不是这样。我很惊讶这是可能的。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

事实证明我没有在Chrome中正确清除浏览器历史记录。当我“清除”它时,我忘记选择“清除缓存的文件和图像”。清除那些修复了问题(我的代码没有任何问题)。