无法阻止浏览器缓存Django应用程序的数据

时间:2016-07-27 19:03:15

标签: django google-chrome caching view

我的一个模板中有一个Django表单,它只是您选择的项目的一堆复选框和标签。我有一个函数,当它被检查时,它会在后端获得该项目的价格,并返回插入前端的总计。当我提交表单并转到下一页时,它会将您检查的所有项目添加到存储在会话中的购物车中。即使在该结账页面上从购物车中删除了商品,当我返回页面时,即使没有选中任何复选框,总计仍然在页面上。如果我在结帐页面上清除我的浏览器缓存,那么在返回页面之前,所有内容都会被清除。

我尝试在视图函数上使用Django的@never_cache装饰器,在返回页面时会被击中,但它不起作用。我正在使用Django 1.7.5所以我手动将额外的值添加到never_cache装饰器使用的Cache-Control头中,因为no-cache,no-store和must-revalidate不是传递到Django头中的值版本低于1.9。

response = HttpResponse()
response['Cache-Control'] = 'max-age=0, no-cache, no-store, must-revalidate'

这是PyCharm显示http响应对象的所有标头

UIView

0 个答案:

没有答案