django-cloudistatic is a Django app to upload your staticfiles to Cloudinary and serve from there. Cloudinary serves files using CDN, which will reduce the load on django server and pages will load faster.
Add "djangocloudistatic" to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [ ... 'djangocloudistatic', ]
Declare the following settings variables (you will get them from Cloudinary dashboard)
CLOUDI_NAME = <Cloud name> CLOUDI_API_KEY = <API Key> CLOUDI_API_SECRET = <API Secret>
Include
STATICFILES_DIRS
andSTATIC_ROOT
in settings.py file (Should be included beforeSTATIC_URL
) of your project. You may refer to https://docs.djangoproject.com/en/3.2/howto/static-files/ for details.Modify the
STATIC_URL
like this:STATIC_URL=f'https://res.cloudinary.com/{CLOUDI_NAME}/raw/upload/v1/{STATIC_ROOT}/'
Now run
python manage.py collectstatic
command to collect all staticfiles to STATIC_ROOT of your project.Finally, run
python manage.py cloudistatic
to upload staticfiles to Cloudinary. Wait for a few minutes and your staticfiles will be ready to be served from there. If you want to delete your local STATIC_ROOT (staticfiles will not be served from here now) after uploading to cloud, then you should runpython manage.py cloudistatic --deletelocal
instead ofpython manage.py cloudistatic
.
For more info check out the documentation. And for questions about usage or development you can create an issue on Github.