0
我想結合django管道和Django存儲自動上傳壓縮文件到亞馬遜S3。Django存儲和Django管道 - 只上傳壓縮的靜態文件
它一直都在失敗。它正在上傳所有可能的文件,或者它正在上傳空文件,或者在啓用CachedFileFinder時發生錯誤。
我有點卡住了,不知道該怎麼做。
custom_storages.py
# -*- coding: utf-8 -*-
from django.contrib.staticfiles.storage import CachedFilesMixin
from pipeline.storage import PipelineMixin, PipelineCachedStorage
from storages.backends.s3 import S3Storage
from storages.backends.s3boto import S3BotoStorage
class S3PipelineStorage(PipelineMixin, CachedFilesMixin, S3BotoStorage):
pass
settings.py
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'django.contrib.webdesign',
'django.contrib.humanize',
'django.contrib.sitemaps',
'django.contrib.flatpages',
# External libs
'storages',
'pipeline',
'endless_pagination',
'easy_thumbnails',
'mptt',
'south',
#'debug_toolbar',
'rest_framework',
'memcache_status',
'parsley',
'crispy_forms',
'crispy_forms_foundation',
# Apps
'core',
'adverts',
'places',
'images',
'categories',
)
DEFAULT_FILE_STORAGE = 'storages.backends.s3.S3Storage'
STATICFILES_STORAGE = 'core.core_storage.S3PipelineStorage'
MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media')
MEDIA_URL = '/media/'
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static_root')
STATICFILES_DIRS = (
os.path.join(PROJECT_DIR, 'static'),
)
STATICFILES_FINDERS = (
'pipeline.finders.AppDirectoriesFinder',
'pipeline.finders.FileSystemFinder',
'pipeline.finders.PipelineFinder',
#'pipeline.finders.CachedFileFinder',
)
PIPELINE_CSS = {
'base': {
'source_filenames': (
'css/style.css',
),
'output_filename': 'css/core.css',
},
}
PIPELINE_JS = {
'base': {
'source_filenames': (
'js/libs/jquery-1.10.2.js',
'foundation/bower_components/foundation/js/foundation.js',
'foundation/js/app.js',
'js/jquery.wookmark.js',
'js/libs/endless-pagination.js',
'js/libs/jquery.autosize-min.js',
'js/libs/global.js',
),
'output_filename': 'js/jquery.js',
},
}