This is a Django library to add support to Cloudflare Images to the ImageField.
It supports:
pip install django-cloudflare-images
You need to add the following your settings.py:
STORAGES = {"default": {"BACKEND": "cloudflare_images.storage.CloudflareImagesStorage"}}
DEFAULT_FILE_STORAGE = "cloudflare_images.storage.CloudflareImagesStorage"
And then add the remaining of the configuration:
CLOUDFLARE_IMAGES_ACCOUNT_ID = "XXX"
CLOUDFLARE_IMAGES_API_TOKEN = "YYY"
CLOUDFLARE_IMAGES_ACCOUNT_HASH = "ZZZ"
If you wish to use a default variant for a specific field you need to change your ImageField
to a CloudflareImagesField
see example below:
from cloudflare_images.field import CloudflareImagesField
from django.db import models
class MyModel(models.Model):
image = CloudflareImagesField(variant="custom")
Please note that you will need to migrate your model(s) once you swapped the field(s). No SQL will actually be applied (you can check by running sqlmigrate <module> <number>
).
If you wish to use a custom domain to serve your images you need to add the following to your settings.py:
CLOUDFLARE_IMAGES_DOMAIN = "example.com"
If you wish to use a default variant other than "public" to serve your images you need to add the following to your settings.py:
CLOUDFLARE_IMAGES_VARIANT = "custom"
If you wish to override the default timeout of 60 seconds for API requests, you need to add the following to your settings.py:
CLOUDFLARE_IMAGES_API_TIMEOUT = 120
Installing for development:
make install
Cleaning the installation:
make clean
Format the code:
make format
Check the code (for linting errors):
make check
Running all tests:
make test
Create a sdist+bdist package in dist/:
make package