【发布时间】:2016-05-31 14:04:35
【问题描述】:
我正在使用staticfiles 在我的 Django 应用程序中管理静态文件(JS、CSS、图像等)。这工作正常,但我想在用户的浏览器有能力时启动dynamically serving pre-compressed sources。
我浏览了链接的教程,并且在生产中(在 Apache 上)这工作正常。我可以使用
来包含文件<script src="/static/js/my-site"></script>
当支持 GZip 编码时,它将在旧浏览器中加载 my-site.js 和 my-site.js.gz。伟大的!但是:这会破坏使用runserver 的本地开发。当然,staticfiles 默认视图不知道如何将/js/my-site 转换为/js/my-site.js(或.gz)。要让runserver 工作,我需要指定扩展名,这会破坏内容协商。
有没有更好的方法来配置 Apache,以便我可以随时请求 .js(或 .css 等)并透明地获得压缩版本?或者我可以告诉 Django 如何在不指定扩展名的情况下找到请求的资源?我不认为我是唯一一个尝试这样做的人......
【问题讨论】:
-
作为参考,我正在尝试 an alternative solution 使用
mod_rewrite但对于我的生活,我无法让它真正为 gzip 文件提供服务。也许我需要一个关于mod_rewrite调试的单独问题?