我正在研究一些通用的静电文件和更新问题的解决方案.
示例:假设有一个站点有/static/styles.css
个文件-并且站点被长期使用-所以很多访问者在浏览器中缓存了这个文件
现在我们对这个CSS文件进行了修改,并在服务器上进行了更新,但是一些用户仍然有旧版本(尽管服务器返回了修改日期)
显而易见解决方案是向文件/static/styles.css?v=1.1
添加一些版本,但是在这种情况下,开发人员必须跟踪该文件中的变化并手动增加版本
第二种解决方案是计算文件的md5散列,并将其添加到url /static/styels.css/?v={mdp5hashvalue}
中,后者看起来更好,但md5应该以某种方式自动计算.
在我看来它们是可能的--创建一些模板标签,如下所示
{% static_file "style.css" %}
它将呈现
<link src="/static/style.css?v=md5hash">
但是,我不希望这个标记在每次页面加载时都计算MD5,我也不想将散列存储在django-cache中,因为那样我们将不得不在更新文件后清除.
有什么 idea 吗?