最近,我们遇到了浏览器缓存css文件的问题,因此,当我们将代码移至另一台Web服务器时,会得到意料之外的不良结果。
阅读了各种解决方案后,我发现css文件可以包含在模板中。而不是写

<link href="/static/css/parentx.css" rel="stylesheet" type="text/css">


我们可以放

<style>{% include "static/css/parent.css" %}</style>


它将css嵌入html中。它具有减少对css文件的服务器调用次数的附加好处,但缺点是根本不缓存css并且不允许Web服务器提供静态文件。但是,这些文件非常小,通常约为12K。

我提议将其作为一种临时措施,因为我刚刚发现了资产管理插件,它们看起来可以做得更好。
我从未见过使用'include'模板命令来获取CSS(和javascript)文件的过程,所以也许我没有意识到其中的一个缺点?

最佳答案

尽管根本不需要缓存CSS文件,但它会减慢页面加载速度。

尽可能长时间和必要地缓存CSS,并且当您需要使缓存无效时,一种肯定的方法是加载另一个文件,我的意思是同一个文件具有另一个名称。它可以是parent1391234565.cssparent-v003.cssparent130307.cssparent-4e6ca1437f2d.css。如果您告诉浏览器下载parent-v002.css,则可以确定它们的缓存中没有parent-v003.css

关于css - Django模板,“include” css,而不是使用链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15263983/

10-12 12:59
查看更多