django backend for resumable.js xhr uploads.
JavaScript Python HTML
Latest commit e2b10e8 Apr 13, 2016 @jeanphix Bump 0.1.1
Failed to load latest commit information.
resumable as per authors request, changed te PR Apr 12, 2016
.gitignore Ignores .env Aug 2, 2012 Adds Sep 5, 2012
README.rst improve readme code blocks Jan 3, 2015 Bump 0.1.1 Apr 13, 2016



django-resumable provides django backend stuff that handles resumable.js xhr uploads.


  • pip install django-resumable
  • Add resumable to your INSTALLED_APPS


In order to upload files asynchronous, you must define an endpoint that will deal with uploaded file chunks:

from django.contrib.auth.decorators import login_required

from resumable.views import ResumableUploadView

urlpatterns += patterns('',
    url('^upload/$', login_required(ResumableUploadView.as_view()),

You should also consider having per user chunk upload directory:

class MyResumableUploadView(ResumableUploadView):
    def chunks_dir(self):
        return self.request.user.profile.chunks_dir


If you want to handle resumable upload within your forms, you can use the ResumableFileField that works like django core FileField:

from django.conf import settings
from django.core.urlresolvers import reverse

from resumable.fields import ResumableFileField

class ResumableForm(Form):
    file = ResumableFileField(
        upload_url=lambda: reverse('upload'),
        chunks_dir=getattr(settings, 'FILE_UPLOAD_TEMP_DIR')


django-resumable comes with extendable frontend scripts that work out of the box:

{% load staticfiles %}
<!DOCTYPE html>
        <form method="post" action=".">
                {% csrf_token %}
                {{ form.as_p }}
            <p><input type="submit" value="send" /></p>
        <script type="text/javascript" src=""></script>
        <script type="text/javascript" src="{% static 'resumable/js/django-resumable.js' %}"></script>
        <script type="text/javascript" src="{% static 'resumable/js/init.js' %}"></script>