django-cloudfiles icon indicating copy to clipboard operation
django-cloudfiles copied to clipboard

An app for interfacing with Mosso's CloudFiles service.

django-cloudfiles

Summary

The Rackspace Cloud (previously Mosso) offers a file storage service called CloudFiles. Bundled with CloudFiles is the option to make your files publicly available over Limelight's CDN.

This app adds a command (publish_cloudfiles) to Django's manage.py script. The new command publishes all of your media files to your CloudFiles account.

Maturity

Working alpha. Needs to be beat up. Needs testing on Windows.

NOTE: No investigation has been made into whether or not this will continue to work after RackSpace moves from Limelight to Akami: http://bit.ly/g1x7N6

Instalation

  1. Download the CloudFiles Python API (project developed against 1.3.0): https://api.mosso.com/clients/cloudfiles/python-cloudfiles-1.3.0.zip

  2. Extract the API and put the contained folder cloudfiles/ in your PYTHONPATH.

  3. Put django_cloudfiles/ in your PYTHONPATH.

  4. Add django_cloudfiles to your INSTALLED_APPS

  5. Configure some settings in your settings file (these are optional; they can be passed on the commad line to manage.py instead of coded in setings.py):

    • CLOUDFILES_USERNAME - your Mosso username used for accessing CloudFiles
    • CLOUDFILES_API_KEY - your Mosso API key used for accessing CloudFiles
    • CLOUDFILES_CONTAINER - the container to upload files to
    • MEDIA_ROOT - where the command should upload from
  6. (optional) If you use the CDN feature of CloudFiles, set your MEDIA_URL to be the public URI of your container. NOTE: It's useful to override this in a settings_dev.py file if you develop offline locally.

Use

python manage.py help publish_cloudfiles