Skip to main content
Help us improve Python packaging – donate today!


Project Description


This project provides [Weed-FS]( integration with Django by giving model field.


This project is built on top of [pyweed]( project which provides Python implementation of API to Weed-FS.

Thus dependencies are:

  • configured Weed-fS
  • pyweed module
  • django (tested only with 1.6 now, but should work with early releases as well)


pip install django-weed


pip install

How to use

django-weed provides WeedFSFileField model field, so if you have regular FileField in your models:

class Book(models.Model):
    name = models.CharField(_("Name"), max_length=255)
    content = models.FileField(_("Content"), upload_to=settings.CONTENT_URL)

you can easily convert this FileField to WeedFSFileField:

from djweed.db_fields import WeedFSFileField

class Book(models.Model):
    name = models.CharField(_("Name"), max_length=255)
    content = WeedFSFileField(_("Content"))

Note: there is no sense in upload_to keyword for Weed-FS as it uses flat file id structure.

After that you can use content almost as before.

>>> book = Book.objects.get(id=1)
>>> from django.core.files import File
>>> book.content = File(open('/tmp/book_content_1.txt'))
>>> Book.objects.filter(id=1).update(content=File(open('/tmp/book_content_2.txt')))
>>> book.content.size
>>> book.content.storage_url,1f23101a
>>> book.content.verbose_name
>>> book.content.content[:41]
u"These are first words in the book content"

Furthermore, django-weed has integration with Nginx’s X-Accel-Redirect so you can safely serve data from Weed-FS. You have to add djweed to your INSTALLED_APPS in and assign url in to djweed.urls, i.e.:

(r'^media/', include('djweed.urls')),

There is no special Nginx configuration as it supports X-Accel-Redirect out of the box and the link will point to the Weed-FS volume.

Once you configured djweed you could get url from content:

>>> book.content.url

Release history Release notifications

History Node


History Node


History Node


History Node


History Node


This version
History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-weed-0.1.tar.gz (3.9 kB) Copy SHA256 hash SHA256 Source None May 8, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page