gpt4 book ai didi

python - 如何使 django-storage 和 django-pipeline 协同工作

转载 作者:太空宇宙 更新时间:2023-11-03 18:59:07 24 4
gpt4 key购买 nike

我想在 heroku 上同时使用 django-pipeline 和 django-storage 作为个人应用程序。仅使用 django-pipeline 效果很好,仅使用 django-storage 效果很好,但我无法让它们一起工作:(

当您阅读文档时,您会发现这可以使两者都与 collecstatic 一起使用:

Django 管道:

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

Django 存储

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 设置存储时; django-pipeline 不会创建 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 :) )

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'
)

最佳答案

STATICFILES_STORAGE设置为:s3storage.S3PipelineStorage

使用 settings.AWS_STORAGE_BUCKET_NAMEsettings.AWS_LOCATION 配置 S3。

关于python - 如何使 django-storage 和 django-pipeline 协同工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16479442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com