django-cloudinary-storage
Django package that provides Cloudinary storages for both media and static files as well as management commands for removing unnecessary files.
What it is and what it does
Django Cloudinary Storage implements Django's Storage API to route media and static file uploads to Cloudinary instead of local disk. It supports images, raw files (PDFs, text), and videos through separate storage classes, and includes management commands for cleaning up orphaned media and redundant static files. The package wraps the cloudinary SDK and requires minimal configuration—primarily setting Cloudinary credentials and designating a storage class in Django settings.
Once configured, any Django model with ImageField, FileField, or similar will automatically upload to Cloudinary. You can then use Cloudinary's image transformation features (resizing, cropping, format conversion) directly in templates. Static files collected via Django's collectstatic command are hashed and uploaded to Cloudinary's CDN for caching.
Use it for:
- Move user-uploaded images to Cloudinary CDN to reduce server storage and improve delivery speed.
- Serve static assets (CSS, JS, images) from Cloudinary CDN with automatic cache busting via file hashing.
- Store and serve raw files (PDFs, documents) or video files separately from images using specialized storage classes.
- Clean up orphaned media files or redundant static files on Cloudinary using built-in management commands.
- Apply Cloudinary image transformations (resize, crop, format) to uploaded images without server-side processing.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Integrates Django with Cloudinary to serve media and static files through Cloudinary's storage API, with management commands for file cleanup.
Yes, if you are running Django 1.8 or later and need to offload file storage to Cloudinary. The install is straightforward and the package is stable for its intended use. However, be cautious: the package has not been updated since 2020-08-23 and may have compatibility issues with modern Django versions. Test thoroughly in your environment before deploying to production.
Install
django-cloudinary-storage on PyPI
pip
pip install django-cloudinary-storageuv
uv add django-cloudinary-storagepoetry
poetry add django-cloudinary-storageInstalling django-cloudinary-storage
Before you install
Low friction install with only two runtime dependencies (requests and cloudinary). Package is aging—last release was 2020-08-23 and no commits since then—so expect limited maintenance and potential compatibility issues with recent Django versions.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install django-cloudinary-storage
# In settings.py:
INSTALLED_APPS = [
'cloudinary_storage',
'django.contrib.staticfiles',
'cloudinary',
]
DEFAULT_FILE_STORAGE = 'cloudinary_storage.storage.MediaCloudinaryStorage'
CLOUDINARY_STORAGE = {
'CLOUD_NAME': 'your_cloud_name',
'API_KEY': 'your_api_key',
'API_SECRET': 'your_api_secret'
}
Requires Cloudinary account credentials (CLOUD_NAME, API_KEY, API_SECRET) set in settings or environment variables; optional python-magic dependency for video validation.
Verify before relying
- Compatibility with Django versions released after 2020-08-23 (package has not been updated in several years).
- Whether the package works reliably with current versions of the cloudinary and requests dependencies.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — requests, cloudinary |
| Maintenance | aging — 2,182 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 193,650/month — #9,848 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: django_cloudinary_storage-0.3.0-py3-none-any.whl
Keywords: django, cloudinary, storage
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
cloudinaryCloudinary Python SDK provides image and video…
permissive · top 5,000 on PyPI
django-s3-storageProvides Django file storage backends that read…
permissive · top 15,000 on PyPI
CollectfastCollectfast accelerates Django's collectstatic…
permissive · top 15,000 on PyPI
CollectfastaCollectfasta speeds up Django's collectstatic…
permissive · top 5,000 on PyPI
django-npmdjango-npm integrates npm package management…
permissive · top 15,000 on PyPI
wagtailmediaAdds audio and video file management to Wagtail…
permissive · top 15,000 on PyPI
django-storagesdjango-storages provides pluggable storage…
permissive · top 5,000 on PyPI
django-herokuConfigures Django applications for Heroku…
permissive · top 15,000 on PyPI
django-ckeditorIntegrates CKEditor 4.18.0 rich-text editing…
permissive · top 5,000 on PyPI
django-imagekitAutomated image processing for Django…
permissive · top 15,000 on PyPI