我有一个名为'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):
我清除了浏览器缓存,所以也不是这样。我很惊讶这是可能的。任何帮助将不胜感激。
答案 0 :(得分:0)
事实证明我没有在Chrome中正确清除浏览器历史记录。当我“清除”它时,我忘记选择“清除缓存的文件和图像”。清除那些修复了问题(我的代码没有任何问题)。