Multiple storage engines for django media: prefer local, fallback to CDN
The best way is to have this working, is to have a different web server serving all of your media (I used nginx). Then you setup a load balancer to detect failure and redirect all the requests to CDN in case of a failure. 
One thing that you might have to figure out is the image path.(use HAProxy to rewrite the request URL, if you need to)
I have a django/mezzanine/django-cumulus project that uses the rackspace cloudfiles CDN for media storage. I would like to automatically serve all static files from the local MEDIA_ROOT, if they exist, and only fallback to the CDN URL if they do not.
One possible approach is to manage the fallback at the template level, using tags. I would prefer not to have to override all the admin templates (eg) just for this, however.
Is there a way to modify the handling of all media to use one storage engine first, and switch to a second on error?