이 패키지는 Django 개발자가 정적 및 미디어 파일을 제공하기위한 Cloudinary를 쉽게 구성 할 수 있도록 도와줍니다. DEBUG 설정에 따라 개발 또는 생산 환경을 자동으로 감지합니다.
DEBUG 모드를 자동으로 감지합니다.패키지를 설치하려면 실행하십시오.
pip install django-cloudinary-helperINSTALLED_APPS 에 cloudinary_helper 추가하십시오 : settings.py 에서 cloudinary_helper INSTALLED_APPS 목록에 추가하십시오. INSTALLED_APPS = [
...
'cloudinary_helper' ,
...
] 정적 및 미디어 파일에 대한 스토리지 구성 추가 : 제작에서 Cloudinary를 통해 정적 및 미디어 파일이 제공되도록하기 위해 다음 설정을 settings.py 에 추가하십시오.
from decouple import config
from cloudinary_helper . utils import setup_cloudinary
if DEBUG :
# Development
STATIC_URL = '/static/'
STATICFILES_DIRS = [ BASE_DIR / 'static' ]
STATIC_ROOT = BASE_DIR / 'staticfiles' # This is where collectstatic will store static files
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / 'static/media' # This is where media files will be stored
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
else :
# Production
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
setup_cloudinary (
config ( 'CLOUDINARY_CLOUD_NAME' ),
config ( 'CLOUDINARY_API_KEY' ),
config ( 'CLOUDINARY_API_SECRET' )
)
DEFAULT_FILE_STORAGE = 'cloudinary_helper.storages.CloudinaryMediaStorage'
STATICFILES_STORAGE = 'cloudinary_helper.storages.CloudinaryStaticStorage' (선택 사항) 앱의 스토리지 사용 : 위의 구성을 사용하면 Django 모델의 FileField 및 ImageField 필드는 프로덕션의 파일 업로드에 Cloudinary를 자동으로 사용합니다. 개발 중에 DEBUG = True 일 때 로컬 파일 스토리지가 대신 사용됩니다.
패키지는 DEBUG = False 일 때 FileField 및 ImageField CloudinaryField 로 동적으로 대체합니다.
즉, 모델을 수동으로 조정할 필요가 없습니다. 모델에서 기본 FileField 와 ImageField 를 사용하면 패키지가 나머지를 처리합니다.
from django . db import models
from cloudinary_helper . storages import get_storage_class
class YourModel ( models . Model ):
image = models . ImageField ( storage = get_storage_class (), upload_to = 'images/' )
file = models . FileField ( storage = get_storage_class (), upload_to = 'files/' ) 사용 편의성 : 개발자는 모델에서 CloudinaryField 명시 적으로 사용하는 것을 배우거나 기억할 필요가 없습니다.
원활한 통합 : 환경 ( DEBUG 설정)에 따라 동작이 동적으로 변경됩니다.
뒤로 호환성 : 표준 Django 필드로 작성된 모델은 여전히 수정없이 예상대로 작동합니다.
이 구현은 불필요한 세부 사항을 추상화하면서 개발 및 생산 환경과의 원활한 통합을 제공함으로써 패키지를보다 개발자에게 친숙하게 만듭니다.
StaticStorage 클래스가 로컬 파일 시스템으로 돌아갑니다. STATICFILES_STORAGE 이외의 정적 파일에는 추가 구성이 필요하지 않습니다. DEBUG = False 경우) Cloudinary는 정적 및 미디어 파일 모두에 사용됩니다.DEBUG = True )에서는 정적 파일 및 미디어 파일 모두에 로컬 파일 스토리지가 사용됩니다.setup_cloudinary() 함수는 settings.py 에서 수동으로 구성 할 필요없이 스토리지를 자동으로 설정하는 데 도움이 될 수 있습니다. 저장소를 자유롭게 포크하고 풀 요청을 제출하십시오. 모든 변경 사항이 잘 테스트되었는지 확인하고 Django의 모범 사례를 따르십시오.
이 패키지는 오픈 소스이며 MIT 라이센스에 따라 사용할 수 있습니다. 프로젝트에서 자유롭게 사용하십시오.