【发布时间】:2013-01-23 19:32:04
【问题描述】:
我最近一直在想这个问题,Django的spaceless模板标签到底是什么目的?
显然它会从 HTML 标记中删除空格,但除此之外它是否会提高页面加载速度?
我的意思是,从 html 文件中删除空格是否有任何帮助?
【问题讨论】:
标签: django html django-templates
我最近一直在想这个问题,Django的spaceless模板标签到底是什么目的?
显然它会从 HTML 标记中删除空格,但除此之外它是否会提高页面加载速度?
我的意思是,从 html 文件中删除空格是否有任何帮助?
【问题讨论】:
标签: django html django-templates
拥有一个跨越边界(ala Ifs 和 Fors)的 {%spaceless%} 版本是有意义的,遗憾的是 Django 不支持这个简单的功能。我有一个由我添加的动态类,并且空格中有几十行(所有空格都与模板匹配)。这对于 Django 的开发人员来说应该不会太难添加。 给每个 if 添加 spaceless 是非常愚蠢的。
如果他们真的很担心,你也可以有一个深度参数。
【讨论】:
换行符/空格是一个字符,是的,它会增加文件大小,尤其是对于大型循环和人类可读性优化的模板文件(如大型 FK 列表)。
在基本模板中添加 {% spaceless %} 也非常简单和安全。
它还允许您保持模板代码缩进以提高可读性,但适当地为 HTML 呈现无空格(我认为逗号是一种常见情况)。
【讨论】:
<strong>X</strong> <a href="#">Y</a>,那么{% spaceless %} 将删除内联元素strong 和a 之间的空间,这意味着渲染将XY 而不是X Y 的预期渲染我建议使用更智能的缩小器如django-htmlmin或google pagespeed apache/nginx module