我想在Windows上本地獲取django-pipeline。當我運行collecstatic或runserver命令,進入到現場,我得到以下錯誤:Django管道編譯器不工作
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'
}
}
兩個青菜和yuglify從命令行工作。
相關文件系統結構:
myproject/
...
settings.py
static/
common/
sass/
main.sass
如果我拿出PIPELINE_COMPILERS = (...)
,只是用它來縮小經常CSS文件,它完美的作品。
任何解決方案嗎?我仍然得到相同的錯誤:/ – 2015-04-13 12:10:09
我問IRC,沒有人能弄明白。我的「解決方案」是使用Linux。 – 2015-04-14 14:48:28