わかった。私は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」に正常にコピーされます。ここまでやったー!
しかし、その後、テンプレート内の( )runserver
によって圧縮ファイルが見つかりません(明らかに があります)。を実行しても同じことが当てはまります。なぜこうなった?他のすべてのファイル ( ) は によって検出されます。{% static 'master' %}
href='/static/css/master.css'
{% load pipeline %}
findstatic 'css/master.css'
fonts.css animate.css etc
findstatic
master.css
これは、 「project/static/css」内にコピーがないためだと思われます。それとも、私が持っているためにこれが起こっていDEBUG = True
ますか?
「master.css」を「project/static_remote/css」から「project/static/css」に手動でコピーすると、すべて正常に動作しますが、それは望ましくありません。何か提案はありますか?