django-pipeline DEBUG = True,找不到压缩文件

时间:2015-11-05 11:53:43

标签: django django-pipeline

行。我发疯了使用django-pipeline而且我离开它一步之遥。 我还没有投入生产。所有以下内容都在开发(DEBUG=True)模式下进行。我的css静态文件位于一个名为'project / static / css'的目录中,我在一个名为'project / static_remote / css'的目录中收集它们(在我自己的开发服务器中)。

我已设置以下内容:

import os
from os.path import abspath, dirname, join

# PATH CONFIGURATION
here = lambda *x: join(abspath(dirname(__file__)), *x)
PROJECT_ROOT = here("..", "..")
root = lambda *x: join(abspath(PROJECT_ROOT), *x)

# STATIC FILES CONFIGURATION
STATIC_ROOT = root('static_remote')
STATIC_URL = '/static/'
STATICFILES_DIRS = (root('static'), )
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'pipeline.finders.PipelineFinder',
)
STATICFILES_STORAGE = 'pipeline.storage.PipelineStorage'

# PIPELINE CONFIGURATION
PIPELINE_ENABLED = True
PIPELINE_CSS = {
    'master': {
        'source_filenames': (
            'css/fonts.css',
            'css/animate.css',
            'css/style.css',
            'css/responsive.css',
        ),
        'output_filename': 'css/master.css',
    },
}

当我运行collectstatic时一切顺利,master分支中的所有文件(以及压缩的master.css)都成功复制到'project / static_remote / css'中。直到这里hoorey!

但是,当我runserver时,我的模板中的{% static 'master' %}href='/static/css/master.css')找不到我的压缩文件(显然我有{% load pipeline %})。如果我运行findstatic 'css/master.css',则同样适用。为什么会这样? 所有其他文件(fonts.css animate.css etc)均由findstatic找到。

我怀疑这是因为'project / static / css'中没有master.css的副本。或者这是因为我有DEBUG = True

如果我手动将'master.css'从'project / static_remote / css'复制到'project / static / css',那么一切正常,但我不希望这样。有什么建议吗?

1 个答案:

答案 0 :(得分:-1)

当DEBUG = True时

PIPELINE_ENABLED = False