2013-03-21 1 views
3

안녕 내가 장고 압축기의 프리 컴파일러를 사용하여 장고에 기초하는 SCS를 통합하기 위해 노력하고는,이 프로젝트는 다음과 같습니다장고는, 압축기 및 재단하는 SCS

Syntax error: File to import not found or unreadable: foundation/foundation-global. 
       Load paths: 
       /etc/uwsgi/vassals 
       /etc/uwsgi/vassals/sass 
       /srv/www/weddings/gems/compass-0.12.2/frameworks/blueprint/stylesheets 
       /srv/www/weddings/gems/compass-0.12.2/frameworks/compass/stylesheets 
       Compass::SpriteImporter 
       /srv/www/weddings/gems/bourbon-3.1.1/app/assets/stylesheets 
       /srv/www/weddings/gems/bourbon-3.1.1/app/assets/stylesheets 
     on line 2 of /srv/www/weddings/weddings/static/sass/_settings.scss 
     from line 2 of /srv/www/weddings/weddings/static/sass/app.scss 
    Use --trace for backtrace. 
: 나는의 nginx + uwsgi 그것을 실행할 때
COMPRESS_PRECOMPILERS = (
    ('text/x-scss', 'sass --scss --compass {infile} {outfile}'), 
) 

는 그리고, 나는 다음과 같은 오류가 발생합니다 나는 그것이 config.rb 또는 config.rb에서 설정을 읽는 아니에요 의심잘못된 것입니다 :

http_path = "/" 
css_dir = "stylesheets" 
sass_dir = "sass" 
images_dir = "images" 
javascripts_dir = "javascripts" 

답변

5

config.rb 파일을 가지고 있기 때문에 나침반 프로젝트가 있습니다.

컴파스 프로젝트는 compass 명령 줄 도구가 아닌 sass 명령 줄 도구로 컴파일되어야합니다.

이미 발견 했으므로 컴파일은 프로젝트 폴더에서 시작해야합니다. 그러나 경로를 settings.py에 하드 코딩하여 프로젝트를 이식 할 수 없게 만드는 것은 좋지 않습니다.

하드 코드 된 경로 대신 os.path.dirname(os.path.realpath(__file__))을 사용하여 현재 스크립트의 경로를 찾아야합니다.

os.path.join(os.path.dirname(os.path.realpath(__file__)), "static") 

또한, 이미 settings.pyPROJECT_DIR VAR을 가질 수있다 : (당신이 ..를 사용할 수있는 필요한 조정)이 같은 os.path.join()를 사용 settings.py에 상대적인 폴더를 변경합니다. 그것을 사용하여이 선을 더 깔끔하게 만드십시오.

+1

감사합니다, 물건을 삭제 조금, 내가 실제로'('텍스트/X-SCS들'을 추천 무엇을 사용하고 하드 코드 된 경로에 대한 귀하의 추천에 대해 'CD {0}/static && sass --scss --compass --require bourbon.rb {{infile}} {{outfile}}. format (PROJECT_ROOT)), '나는 실제 경로를 보여주는 것이 더 읽기 쉬울 것이라고 생각했다. . –

+1

위대한 직업! upvote를 잊지 마세요. ;) –

0

나의 현재 해결책은 ocnfig.rb가있는 폴더에 말대꾸 명령을 실행하는 것입니다

COMPRESS_PRECOMPILERS = (
    ('text/x-scss', 'cd /srv/www/project/name/static && sass --scss --compass {infile} {outfile}'), 
) 
1

@ 제임스 린에 약간의 개선

COMPRESS_PRECOMPILERS = (
    # ('text/x-scss', 'django_libsass.SassCompiler'), 
    # ('text/x-scss', 'sass --scss {infile} {outfile}'), 
    ('text/x-scss', 'sass --scss --compass {infile} {outfile}'), 
)