最近我们遇到了浏览器缓存 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。
我建议这是一项临时措施,因为我刚刚发现存在看起来做得更好的 Assets 管理插件。 我从未见过使用“include”模板命令来获取 css(和 javascript)文件,所以也许有一个我不知道的缺点?
最佳答案
根本不缓存 CSS 文件会减慢页面加载速度,尽管这是不必要的。
尽可能长时间地缓存你的 CSS,当你需要使缓存失效时,一个确定的方法是加载另一个文件,我的意思是同一个文件有另一个名字。它可以是 parent1391234565.css
或 parent-v003.css
或 parent130307.css
或 parent-4e6ca1437f2d.css
.如果您告诉浏览器下载 parent-v002.css
,您可以肯定它们的缓存中没有 parent-v003.css
!
关于css - Django 模板, 'include' css 而不是使用链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15263983/