Django模板,'包括'css而不是使用链接

时间:2013-03-07 05:45:21

标签: css django templates

最近我们遇到了浏览器缓存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)文件所以也许有一个我不知道的缺点?

1 个答案:

答案 0 :(得分:0)

根本不缓存CSS文件会减慢页面加载速度,尽管这是不必要的。

尽可能长时间地缓存你的CSS,当你需要使缓存无效时,一种可靠的方法是加载另一个文件,我的意思是带有另一个名字的同一个文件。它可以是parent1391234565.cssparent-v003.cssparent130307.cssparent-4e6ca1437f2d.css。如果您告诉浏览器下载parent-v002.css,那么您很确定他们的缓存中没有parent-v003.css