簡體   English   中英

使用django-pipeline動態壓縮靜態文件

[英]Dynamically compressing static files with django-pipeline

我正在開始使用django-pipeline 如果我理解正確,則需要使用CSS / JS文件指定目錄以對其進行壓縮。 但是,這是一項繁瑣的任務,因為我的項目很大,並且在各處都有靜態文件(不僅在/ static /目錄下)。

我看到它具有collectstatic集成,但不是我想的那樣:它只是在收集靜態文件之后運行壓縮程序,並且只會壓縮您在設置中手動指定的文件,而不是所有靜態文件。

有什么辦法可以告訴django-pipeline壓縮我擁有的每個靜態文件?

您可以使用glob語法選擇多個文件。 這樣子

您不想使用Collectstatic嗎?

然后用這種方式

from django.contrib.staticfiles import finders

all_js = ["{0}/{1}".format(st,"*.js") for st in finders.find("", all=True)]
all_css = ["{0}/{1}".format(st,"*.css") for st in finders.find("", all=True)]

PIPELINE_CSS = {
    'colors': {
        'source_filenames': tuple(all_css),
        'output_filename': 'css/colors.css',
        'extra_context': {
            'media': 'screen,projection',
        },
    },
}

PIPELINE_JS = {
    'stats': {
        'source_filenames': tuple(all_js),
        'output_filename': 'js/stats.js',
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM