python - 使用 django-pipeline 动态压缩静态文件

标签 python django 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',
    }
}

关于python - 使用 django-pipeline 动态压缩静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24300121/

相关文章:

python - 删除特定 url 路径的身份验证和权限

python - 从 Django 管理员发布时出现 Django ConnectionError (urllib3.connection.HTTPConnection)

django - 使用类似于 Rails JST 的 Django 管道分配 Backbone 模板?

Python Windows 服务 - 日志记录不起作用

python - 如何删除列表中重复的 "keys"并计算值的平均值

python - 在 Django 中检索图像

django - 无法使用 django-pipeline 缩小 html 文件

django - 通过 django-pipeline 缩小 CSS 时的奇怪问题

python - django 调试工具栏破坏了管理员?

Python:For 循环遍历列表理解