gpt4 book ai didi

django - django-compressor 是否使用模板继承?

转载 作者:行者123 更新时间:2023-12-04 12:23:43 28 4
gpt4 key购买 nike

我正在使用 django-compressor压缩我网站的静态 CSS 和 Javascript 文件。由于我通过 Amazon S3 为我站点的静态 Assets 提供服务,因此我也在使用 django-storages将我的文件上传到 S3。

这是我的问题:我正在尝试清理 base.html我网站的所有其他模板都可以继承和扩展的模板。这是目前的样子:

{% load compress %}

<html>
<head>
<!-- test -->
{% compress css %}
<link rel="stylesheet" type="text/css" media="screen" href="{{ STATIC_URL }}css/styles.css" />
{% endcompress %}

{% compress css %}
{% block css %}{% endblock %}
{% endcompress %}

{% compress js %}
{% block js %}{% endblock %}
{% endcompress %}
</head>
<body>
{% block body %}{% endblock %}
</body>
</html>

如您所见,我是什么 尝试 这里要做的是允许我继承这个模板的模板覆盖 cssjs块,因此他们可以定义自己的 css 和 javascript 进行压缩。不幸的是,事实并非如此。

当我跑 python manage.py compress (让 django-compressor 分析我的模板并生成压缩的 javascript 和 css 代码),它实际上没有找到我包含的 css 和 javascript 文件。

例如,这是我网站的 index.html模板:
{% block css %}
{{ block.super }}
<link rel="stylesheet" type="text/css" media="screen" href="{{ STATIC_URL }}css/index.css" />
{% endblock %}

当我尝试访问我网站上的该页面时,我收到一条错误消息,指出压缩文件不存在。

我相信正在发生的事情是 python manage.py compress命令不检查从 base.html 继承的模板.由于它不分析它们,因此它不会生成任何压缩代码。

我真的很想让这个工作,因为到目前为止我发现的唯一解决方法是手动添加 {% compress %}...{% endcompress %}我明确拥有的每个模板文件中的标签。我只是讨厌这样做,因为它到处重复这么多代码:(

任何建议将不胜感激。

最佳答案

我想您正在使用离线压缩,在这种情况下,模板继承无法正常工作。请参阅与此“问题”相关的这些问题:

  • https://github.com/jezdez/django_compressor/issues/171
  • https://github.com/jezdez/django_compressor/issues/175
  • 关于django - django-compressor 是否使用模板继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9559018/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com