2016-11-19 67 views
1

我有一个页面叫'results.html'用户可以从中提交表单。问题是有时候我会提交表单,并且响应是从缓存中获取的,而其他时候它实际上会在views.py中调用响应方法。这里有一个例子:Django缓存请求无论设置

用户提交“模仿游戏”:正确的响应返回给用户,并在我的意见响应函数打印

[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): 

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

+0

你可以尝试在浏览器中禁用缓存吗? - http://stackoverflow.com/a/7000899/3930114 我认为这是浏览器端的问题。您还可以在网络部分查看哪些查询发送到您的django服务器作为附加确认。 – Aditya

回答

0

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