【问题标题】:Django compressor fails to find any `compress` tagsDjango 压缩器找不到任何“压缩”标签
【发布时间】:2015-05-20 14:33:25
【问题描述】:

我正在尝试将django-compressor 实施到我的项目中。执行$ python manage.py compress 可使用以下设置:

<!DOCTYPE html>
<html lang="en">
<head>
    {% load compress %}
    {% compress js %}
        <script type="text/javascript" src="{{ STATIC_URL }}lib/js/lodash.compat.js"></script>
        <script type="text/javascript" src="{{ STATIC_URL }}lib/js/jquery-1.11.1.js"></script>
        <script type="text/javascript" src="{{ STATIC_URL }}lib/js/jquery.color.js"></script>
    {% endcompress %}

这行得通:

Compressing... done
Compressed 2 block(s) from 21 template(s).

但是,如果我在该文件中添加另一个 templatetag anywhere,则会引发错误:

{% load extras %}
<!DOCTYPE html>
<html lang="en">
<head>
    {% load compress %}
    {% compress js %}
        <script type="text/javascript" src="{{ STATIC_URL }}lib/js/lodash.compat.js"></script>
        <script type="text/javascript" src="{{ STATIC_URL }}lib/js/jquery-1.11.1.js"></script>
        <script type="text/javascript" src="{{ STATIC_URL }}lib/js/jquery.color.js"></script>
    {% endcompress %}

这是错误:

$ python manage.py compress
...
compressor.exceptions.OfflineGenerationError: No 'compress' template tags found in templates.Try running compress command with --follow-links and/or--extension=EXTENSIONS

为什么会出现这个错误? extras 标签 templatetags 与 django-compress 完全无关。

【问题讨论】:

    标签: python django django-compressor


    【解决方案1】:

    根据django-compressor (compress.py:189-204)的源代码,OfflineGenerationError是在您的某个模板中出现语法错误时发生的。要调试此错误,您可以更改verbosity &gt; 0,以便打印导致错误的模板名称。

    希望这可以帮助您调试语法错误。 调试的最后手段是在compress.py:169 中使用pdb 并检查compressor_nodes 为何为空。 import pdb; pdb.set_trace()

    【讨论】:

      猜你喜欢
      • 2017-01-02
      • 1970-01-01
      • 2014-10-24
      • 2012-04-29
      • 1970-01-01
      • 2020-09-12
      • 1970-01-01
      • 1970-01-01
      • 2011-06-28
      相关资源
      最近更新 更多