使用django-pipeline自动删除collectstatic之后的源文件

时间:2015-05-29 17:27:11

标签: django django-pipeline collectstatic

使用django-pipeline,是否可以在collectstatic之后自动删除源文件?

例如:

PIPELINE_JS = {
    'stats': {
        'source_filenames': (
          'js/jquery.js',
          'js/d3.js',
          'js/application.js',
        ),
        'output_filename': 'js/stats.js',
    }
}

collectstatic:

$ python manage.py collectstatic
$ ls static/js
jquery.js
d3.js
application.js
stats.js

(我不想要jquery.js,d3.js,application.js)

1 个答案:

答案 0 :(得分:1)

Django-pipeline在编译包时发送信号,你可以在docs中详细了解这个信息,以及一般here的信号。你可以像这样挂钩这个信号:

from pipeline.signals import js_compressed

def clear_files(sender, **kwargs):
    print kwargs
    if 'package' in kwargs:
        print kwargs['package'].sources
        # here remove unwanted files

js_compressed.connect(clear_files)