Dav*_*542 11 html compression django gzip
我正在使用django模板,为了便于阅读,我的html看起来类似于以下内容:
{% if some_variable %}
text
{% else %}
nothing exists here
{% endif %}
{% for item in set %}
{% if forloop.first %}
...etc...
Run Code Online (Sandbox Code Playgroud)
它在运行时转换为以下html,其中包括大量的空格和返回:
text
<div>
<li
class='some_class
>
some text
</li>
</div>
etc...
Run Code Online (Sandbox Code Playgroud)
在查看页面源时,有些页面甚至可以运行~3,000行html.
有没有工具在运行时压缩这个HTML?如何删除额外的换行符?
对于一些背景知识,这是故意完成的,因为Django的模板引擎目前不关心在标签被剥离后评估为空白的行消毒,这样做会在响应服务中产生一些轻微的性能损失,因为它涉及到后处理步骤,用于评估呈现模板的完整内容.
尽管如此,如果您需要快速解决方案,我建议您使用StripWhitespaceMiddleware响应中间件,它将从文本响应中删除虚假空白.它非常快速和直接,采用像模板引擎本身一样的正则表达式匹配.如果你真的关心那些仍在阅读原始反应的穷人,那么一个更有趣但更强大的替代方案是部署一个利用HTML美化的响应中间件.