2016-08-10 9 views
0

django_cmsサイトにsass_processorを実装しようとしていますが、奇妙なエラーが発生しています。Djangoが私の静的ファイルを見ることができないのはなぜですか?

Unable to locate file mysite/static/scss/main.scss while rendering tag 'sass_src' in template /Users/USER/Work/DIR/APP/SITE/mysite/templates/base.html 

私は最新のDjango CMSのインストール手順に従っており、すべてがセットアップされ、完全に動作しています。私は静的なCSSファイルをインポートしようとしており、それは正常に動作します。私base.htmlで例えば

私はここにgithubのページの指示に従っている私のテンプレート

でsass_tagsを含めるようにしてください行っている

<link href="{% static 'myapp/static/css/main.css' %}" rel="stylesheet" type="text/css" /> 

輸入完全

: は、 https://github.com/jrief/django-sass-processor

マイサブインポートは次のとおりです:

次のように
<link href="{% sass_src 'myapp/static/scss/main.scss' %}" rel="stylesheet" type="text/x-scss" /> 

私の静的なファイル構造は次のように

STATIC_URL = '/static/' 
MEDIA_URL = '/media/' 
MEDIA_ROOT = os.path.join(DATA_DIR, 'media') 
STATIC_ROOT = os.path.join(DATA_DIR, 'static') 
SASS_ROOT = os.path.join(BASE_DIR, 'mysite', 'static', 'scss') 
SASS_PROCESSOR_ROOT = SASS_ROOT 

COMPRESS_PRECOMPILERS = (
    ('text/x-scss', 'django_libsass.SassCompiler'), 
) 

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

SASS_PROCESSOR_INCLUDE_DIRS = (
    os.path.join(BASE_DIR, 'mysite', 'static'), 
    SASS_ROOT 
) 

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
    'sass_processor.finders.CssFinder', 
) 

SASS_PROCESSOR_ENABLED = True 

マイファイル構造は次のとおりです。

|+env/ 
`~tate/ 
    |+media/ 
    |~mysite/ 
    | |~static/ 
    | | |+css/ 
    | | `~scss/ 
    | | `-main.scss 
    | |+templates/ 
    | |-__init__.py 
    | |-__init__.pyc 
    | |-settings.py 
    | |-settings.pyc 
    | |-urls.py 
    | |-urls.pyc 
    | |-wsgi.py 
    | `-wsgi.pyc 
    |+static/ 
    |-manage.py* 
    `-requirements.txt 

私はパス構成のいくつかの種類を見逃しているように私は感じるが、私はよDjango CMSのチュートリアルとsass_processorページで説明されている手順に従っているかどうかはわかりません。

何か助けていただければ幸いです。

+0

こんにちはDaniel、あなたのローカルマシンでこのエラーが発生しますか?またはリモートサーバー上にありますか? – Paulo

+0

最も明白な質問ですが、正しいパスを指定してもよろしいですか?静的ファイル構造を貼り付けることができますか? SASS_PROCESSOR_ROOT変数を設定しましたか? – mateuszb

+0

@mateuszb私はうまくいけば更新しました –

答えて

0

SASSのインポートのタイプを "text/css"に変更する必要があります。 「text/x-scss」タイプはdjango-compressorで使用されますが、django-sass-processorでは使用されません。

新しいSASSのインポートは、次のようになります。

<link href="{% sass_src 'myapp/static/scss/main.scss' %}" rel="stylesheet" type="text/css" /> 
0

私は同じエラーメッセージと同様の問題がありました。 Djangoは自分のscssファイルを見つけることができませんでしたが、CssFinderに関連するものではありませんでした。問題は私がdjango.contrib.staticfiles.finders.FileSystemFinderのHTMLに有効なパスを提供していないということです。 。

FileSystemFinder設定に有効なパスを指定してください。一致するパスが一致しないため、mysite/static/scss/main.scssと表示され、HTMLリンクにmyapp/static/scss/main.scssと表示されます。私はこれがちょうどタイプミスか、あなたのエラーがここでは起こっていないのか分かりません。

こちらがお役に立てば幸いです。

関連する問題