Djangompressure压缩文件

2024-05-23 16:55:36 发布

您现在位置:Python中文网/ 问答频道 /正文

使用Django压缩机。想知道是否有办法获得压缩文件名,以便我可以异步加载脚本(因为django压缩器目前不支持)。在

例如,这样我就可以在模板中执行类似的操作

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


Tags: django版本脚本模板varjsscriptdocument
1条回答
网友
1楼 · 发布于 2024-05-23 16:55:36

替代方案

找不到这样做的方法,所以我添加了hook,让页面检查标记,基本上查找已经压缩的标记,并向它们添加异步标记。 Psuedocode/理念

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) 

相关问题 更多 >