django 刷新缓存_Django模板缓存刷新问题

我有浏览器缓存刷新问题,Ken Cochrane的回答让我想到了一个解决方案。

我的问题是模型的详细信息页面。在更新记录后,回到详细信息页面,浏览器显示了哪些内容处于无效状态 - 没有更新的页面。这吸了很大的时间!想象一下,在保存一些更新后用户的困惑,仅仅是从(浏览器缓存版本的)详细信息页面误解了更新没有保存!但他们被保存了,问题是浏览器显示缓存版本。

肯科克伦的解决方案:添加一个查询字符串与东西独特。这对我有效!起初,我只是添加了timezone.now()格式为URL兼容,如?utc = 2018-02-19_22.57.30(在URL中,冒号继续端口,冒号混淆URL - 不能使用冒号)。

蟒蛇格式字符串:“%Y-%间%D_%H.%M.%S”

这解决了我的问题,但是这是每次强制刷新用户重出江湖详细视图页面,即使没有更新。然后它发生在我身上:不是使用timezone.now(),而是使用模型行的上次更新时间戳。更新后,最后一次更新时间戳会晚于先前更新时间戳,因此浏览器将刷新。如果用户没有任何更新而再次返回,则最后更新时间戳将相同,因此浏览器可以显示缓存页面。

所以我的查询字符串?更新= 2018-02-19_22.57.30

保持相同的图像名称,但通过使用图像文件的文件系统的时间戳改变图像文件时,该解决方案可用于查询字符串。只有当图像改变时,时间戳才会不同,浏览器将刷新。当图像文件相同时,时间戳将相同,因此浏览器可以显示缓存版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值