Py学习  »  Django

由于缓存的位置,Django压缩器无法使用CDN

ViaTech • 3 年前 • 273 次点击  

我试图在我的系统中使用django compressor,但我似乎无法通过从远程CDN本地压缩文件来让它工作。我怎样才能做到这一点?

我使用数字海洋CDN来处理我的静态文件,我希望 compressor 使用下面的简单代码完成请求周期中的“压缩”:

{% compress css %}
    <link rel="stylesheet" href="{% static 'css/root_variables.css' %}?v={{ version }}"/>
    <link rel="stylesheet" href="{% static 'css/forms.css' %}?v={{ version }}"/>
    <link rel="stylesheet" href="{% static 'css/animations.css' %}?v={{ version }}"/>
    <link rel="stylesheet" href="{% static 'css/animate.css' %}?v={{ version }}"/>
    <link rel="stylesheet" href="{% static 'css/button.css' %}?v={{ version }}"/>
    <link rel="stylesheet" href="{% static 'css/datepicker.css' %}?v={{ version }}"/>
    <link rel="stylesheet" href="{% static 'css/strikeout.css' %}?v={{ version }}"/>
    <link rel="stylesheet" href="{% static 'css/main.css' %}?v={{ version }}"/>
    <link rel="stylesheet" href="{% static 'css/scrollbar.css' %}?v={{ version }}"/>
    <link rel="stylesheet" href="{% static 'css/navigation.css' %}?v={{ version }}"/>
{% endcompress %}

问题是,我在生产中的静态URL将通过CDN,而我似乎无法为其设置压缩URL django-compressor 到当地的一个地方,我该怎么做?

例如,我的静态url:

STATIC_URL = f'https://{AWS_DEFAULT_BUCKET}.{AWS_S3_REGION_NAME}.digitaloceanspaces.com/static/'

当我尝试添加这些设置时,它会失败,因为它无法写入我的CDN位置(至少现在我不希望它这样做):

COMPRESS_ROOT = '/static/'
COMPRESS_OUTPUT_DIR = '/static/COMPRESSOR/'

以下是试图找到的文件url供参考:

https://bucket.digitaloceanspaces.com/static/static/COMPRESSOR/css/output.3e4efcb9ca0a.css

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/132184
 
273 次点击