3

Windowsでローカルにdjango-pipelineを動作させようとしています。collecstatic または runserver を実行してサイトにアクセスすると、次のエラーが表示されます。

NotADirectoryError at /
[WinError 267] The directory name is invalid

サイトで{% compressed_css 'main' %}は、テンプレートで呼び出されたときに発生します。

トレースバックを見ると、pipeline\compilers\__init__.pyこの行で発生しているようです: return list(executor.map(_compile, paths))、ローカル変数:

futures         <module 'concurrent.futures' from 'C:\\Python34\\Lib\\concurrent\\futures\\__init__.py'>
force           False
_compile        <function Compiler.compile.<locals>._compile at 0x0387A858>
paths           ['sass/main.sass']
multiprocessing <module 'multiprocessing' from 'C:\\Python34\\Lib\\multiprocessing\\__init__.py'>
executor        <concurrent.futures.thread.ThreadPoolExecutor object at 0x0387B970>
self            <pipeline.compilers.Compiler object at 0x0387B870>

settings.py の関連チャンク:

STATIC_ROOT = 'staticfiles'
STATIC_URL = '/static/'
STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'

STATICFILES_DIRS = (
    (os.path.join(BASE_DIR, 'static/common')),
)

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'pipeline.finders.PipelineFinder',
)


# Pipeline
PIPELINE_SASS_BINARY = 'sass'
PIPELINE_YUGLIFY_BINARY = 'yuglify'

PIPELINE_COMPILERS = (
    'pipeline.compilers.sass.SASSCompiler',
)

PIPELINE_CSS = {
    'main': {
        'source_filenames': (
            'sass/main.sass',
        ),
        'output_filename': 'css/main.css'
    }
}

sass と yugliify はどちらもコマンド ラインから動作します。

関連するファイルシステム構造:

myproject/
    ...
    settings.py
static/
    common/
        sass/
            main.sass

PIPELINE_COMPILERS = (...)通常の CSS ファイルを縮小するために取り出して使用すると、完全に機能します。

4

2 に答える 2