2013-05-10 4 views
1

개인용 응용 프로그램을 위해 heroku에서 django-pipeline 및 django-storage를 모두 사용하고자합니다. django-pipeline 만 사용하면 매력을 지닌 django-storage 만 사용할 수 있지만 두 가지를 같이 사용할 수는 없습니다. (장고 저장 및 장고 파이프 라인 작업을 함께 만드는 방법

docs를 읽으면 두 가지 작업을 모두 수행 할 수 있습니다. collecstatic :

장고 - 파이프 라인 :

settings.py 
STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage' 
PIPELINE_CSS = { 
'app': { 
    'source_filenames': (
     'css/*', 
    ), 
    'output_filename': 'css/min.css', 
    'variant': 'datauri', 
}, 
} 

장고 - 스토리지

settings.py 
STATICFILES_STORAGE = 's3storages.StaticStorage' 

s3storages.py 
from storages.backends.s3boto import S3BotoStorage 
StaticStorage = lambda: S3BotoStorage(
     bucket='app_name', 
     location='assets' 
) 

그래서 두 앱 모두 STATICFILE_STORAGE를 설정해야합니다. 아마존 s3에 대한 저장 공간을 설정할 때; 장고 파이프 라인이 ... min.css 및 min.js을 만들지 않습니다

그래서 내가 this solution on stack을 발견하고 다음 한 : 지금

from staticfiles.storage import CachedFilesMixin 
from pipeline.storage import PipelineMixin 
from storages.backends.s3boto import S3BotoStorage 

class S3PipelineStorage(PipelineMixin, CachedFilesMixin, S3BotoStorage): 
pass 

# Define bucket and folder for static files. 
StaticStorage = lambda: S3BotoStorage(
     bucket='app_name', 
     location='assets' 
) 

를, 내가 collectstatic 명령을 사용할 때마다, 정적 파일이 전송된다 amazon S3하지만 django-pipeline min.css 및 min.js는 전송되지 않습니다 ... 내 STATIC_ROOT 디렉토리에도 추적 코드가 없습니다 ....

두 가지를 어떻게 함께 사용할 수 있는지 알고 있습니까?

편집 1 : 나는 이것을 가지고 지금의

는 : s3storage.S3PipelineStorage :에

settings.py 
STATICFILES_STORAGE = 's3storages.StaticStorage' 

s3storage.py 
from staticfiles.storage import CachedFilesMixin 
from pipeline.storage import PipelineMixin 
from storages.backends.s3boto import S3BotoStorage 

class S3PipelineStorage(PipelineMixin, CachedFilesMixin, S3BotoStorage): 
pass 

# Define bucket and folder for static files. 
StaticStorage = lambda: S3PipelineStorage(
     bucket='app_name', 
     location='assets' 
) 
+0

django-pipeline을 포크하고 PIPELINE_STATICFILES_STORAGE 옵션을 추가하고 특정 옵션에 대한 필요성을 설명하는 요청을 보냅니다. – demux

+0

''STATICFILES_STORAGE''가''S3PipelineStorage''를 가리 키도록 설정 했습니까? – cyberdelia

+0

Oups 나는 너에게 대답하기 위해 내 질문 편집을했다. –

답변

1

설정 STATICFILES_STORAGE (나는 s3storage을 :) 변경).

012를 구성하려면 settings.AWS_STORAGE_BUCKET_NAMEsettings.AWS_LOCATION을 사용하십시오.