gpt4 book ai didi

Django-compressor 和模板继承

转载 作者:行者123 更新时间:2023-12-04 02:00:42 31 4
gpt4 key购买 nike

我正在使用 django-compressor Django 1.2.3 中的应用程序来缩小和合并一些包含的 CSS 和 JS 文件。在基本模板中,我有

{% load compress %}
{% compress js %}
{% block js %}
<script type="text/javascript" src="/site_media/js/jquery.query-2.1.7.js">
{% endblock %}

而在一个 child 身上,
{% block js %}
{{block.super}}
<script type="text/javascript" src="/site_media/js/jquery.validate.min.js">
{% endblock %}

当模板呈现时,第一个脚本标签被正确缩小,但第二个没有。在类似的情况下,我已经确认问题是继承。

我不想继续在子模板中使用 compress 标签,因为使用这个应用程序的一半目的是合并文件并减少 HTTP 请求。我错过了什么吗?我应该研究另一种解决方案吗?

最佳答案

我将 django-compressor 与 Django 1.2 一起使用,并进行如下设置:

{% compress js %}
<script type="text/javascript" src="{{ MEDIA_URL }}js/jquery-1.4.2.min.js"></script>
{% block extra_compressed_js %}{% endblock %}
{% endcompress %}

{% block external_js %}{% endblock %}

还有我的 extra_compressed_js块我会经常使用你描述的方法,用 {{ block.super }}通过继承添加更多js。它对我有用,没有任何麻烦。您必须注意的一件事是所有要压缩的 JS 都需要在本地文件系统上可用。这就是为什么我有一个单独的 external_js块,用于来自外部源的 JS。

在我看来,其他事情正在发生。确保您的压缩器副本是最新的,然后检查您的继承以确保它实际工作正常。一种方法是设置 COMPRESS=False在您的设置中,并确保您想要包含的所有 javascript 都实际显示在呈现的模板中。

关于Django-compressor 和模板继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4206146/

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