Django-Compressor压缩文件名

时间:2014-02-25 17:43:57

标签: python django django-compressor

使用Django-compressor。想知道是否有获取压缩文件名以便我可以异步加载脚本(因为django-compressor目前不支持)。

例如所以我可以在我的模板中做这样的事情

var compressed = {{ COMPRESSED_JS_FILENAME|undefined }};
if (compressed) {
    var script = document.createElement('script');
    script.src = compressed;
    script.setAttribute('async', True);
    document.documentElement.firstChild.appendChild(script);
}

Python版:2.7
Django版本:1.4.1

1 个答案:

答案 0 :(得分:0)

替代解决方案

无法找到这样做的方法,所以我添加了页面的钩子来覆盖标签,基本上寻找已经压缩的标签,并为它们添加异步标签。 伪码/观

content = BeautifulSoup(page)
scripts = [tag.extract() for tag in soup.find_all('script')]
for script in scripts:
    old_script = script
    src = script.get('src')
    if '/COMPRESSED/' in src:
        script['async'] = "True"
    page = page.replace(old_script, script)