개인용 응용 프로그램을 위해 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'
)
django-pipeline을 포크하고 PIPELINE_STATICFILES_STORAGE 옵션을 추가하고 특정 옵션에 대한 필요성을 설명하는 요청을 보냅니다. – demux
''STATICFILES_STORAGE''가''S3PipelineStorage''를 가리 키도록 설정 했습니까? – cyberdelia
Oups 나는 너에게 대답하기 위해 내 질문 편집을했다. –