html - 压缩/缩小动态 html

标签 html django compression gzip

我正在使用 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/

相关文章:

python - URL 模式错误

php - 让网站输入一个随机数

java - 如何将 Html 文件映射到 web.xml?

django - 在 django-crispy-forms 中显示多行和多列

python - django.template.exceptions.TemplateDoesNotExist : registration/login. html

api - 什么是好的面向压缩的应用程序编程接口(interface) (API)?

C++/C多线程同时读取gz文件

javascript - 有没有办法解压javascript文件?

php - 是否可以获取DIV到其他页面的时间?如何?

html - 将文本限制为 X 行,但调整宽度以显示所有内容