首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django-带远程脚本的压缩器(Google Maps API)

Django-带远程脚本的压缩器(Google Maps API)
EN

Stack Overflow用户
提问于 2013-01-06 15:26:12
回答 2查看 434关注 0票数 2

出于性能方面的原因,我正在尝试将django-compressor集成到现有的django项目中。

我已经在根模板中的块周围添加了{% compress css %}{% compress js %}标记,其中所有JS和CSS脚本都包含子模板(即.站点上的所有其他页面在根模板中扩展这些块,以放置特定于页面的文件)。这在大多数情况下都很好用,但有一个页面嵌入了一个带有JS标题的Google Map:

代码语言:javascript
复制
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=weather&key={% include "google_maps_api_key" %}&sensor=false">

这会在呈现页面时触发异常:

代码语言:javascript
复制
Caught UncompressableFileError while rendering: 'http://maps.googleapis.com/maps/api/js?libraries=weather&key=MYAPIKEY&sensor=false' isn't accessible via COMPRESS_URL ('/media/') and can't be compressed

有没有办法让django-compressor跳过这个脚本?有没有办法让它访问并压缩远程脚本?

EN

回答 2

Stack Overflow用户

发布于 2013-03-27 03:13:01

不,AFAIK这是不可能的(如果没有很大的修改django-压缩器)。根据您的描述,最好的解决方案是为本地、可压缩脚本和远程脚本使用单独的块,并让您的子模板适当地使用这些块。

票数 0
EN

Stack Overflow用户

发布于 2013-06-05 02:28:37

这在技术上是可行的吗?是的..。您可以将地图下载到您的assets文件夹,然后从那里进行压缩。

然而,这违反了谷歌的使用条款,并可能造成一些奇怪的边缘情况。更好的办法是将地图的标记移到{% compress %}调用之外。由于谷歌地图已经被预压缩,并托管在谷歌的快速CDN上,你的网页无论如何都会比你自己尝试服务器加载得更快。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14180239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档