在Django中有没有办法在静态资源末尾添加etag?
在Rails框架中,如果我导入一个CSS文件或者JavaScript文件,生成的链接会像这样:
<script type="text/javascript" src="some.js?<ETag here>"></script>
如果我更新了some.js文件,etag(一个标识文件版本的东西)就会改变,这样我的浏览器就能聪明地缓存这个静态资源,并在需要的时候更新缓存。
那在Django中有没有类似的方法呢?
2 个回答
0
1
也许 django-static 可以帮到你……
django_static
是一个 Django 应用,它提供了各种模板标签,以更好地服务你的静态内容。简单来说,它会重写静态文件的引用,并在适当的情况下对内容进行空格优化。通过让静态内容的引用变得独特(在名称中包含时间戳),你可以非常大胆地设置缓存控制,而不用担心升级代码后,访客还在使用旧版本。
正如 <jldupont>
指出的,这个解决方案与 HTTP ETags 没有关系。