我正在使用 django 模板,为了可读性,我有类似于以下内容的 html:
{% if some_variable %}
text
{% else %}
nothing exists here
{% endif %}
{% for item in set %}
{% if forloop.first %}
...etc...
它在运行时转换为以下 html,其中包含大量空格并返回:
text
<div>
<li
class='some_class
>
some text
</li>
</div>
etc...
有些页面在查看页面源代码时甚至会运行约 3,000 行 html。
有没有工具可以在运行时压缩这个 html?删除额外换行符的工具怎么样?
最佳答案
作为背景知识,这是有意为之的,因为 Django 的模板引擎目前不关心在标签被剥离后清理评估为空白的行,这样做会在提供响应时产生一些轻微的性能损失,因为它涉及评估渲染模板的全部内容的后处理步骤。
不过,如果您需要快速解决方案,我建议您使用 StripWhitespaceMiddleware
响应中间件,它将从文本响应中删除虚假空格。它非常快速和直接,像模板引擎本身一样使用正则表达式匹配。如果您真的关心仍在阅读原始响应的可怜人,一个更费力但更强大的替代方案是部署一个使用 HTML 美化器的响应中间件。
关于html - 压缩/缩小动态 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11713464/