使用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
答案 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)