Skip to content

Dead simple drop-in multi file upload field for Django forms using HTML5's multiple attribute.

License

Notifications You must be signed in to change notification settings

0181532686cf4a31163be0bf3e6bb6732bf/django-multiupload

 
 

Repository files navigation

Django Multiupload

Dead simple drop-in multi file upload field for django forms using HTML5's multiple attribute.

Installation

  • Install the package using pip (or easy_install if you really have to)
$ pip install django-multiupload
  • or directly from this repository the get the development version (if you're feeling adventurous)
$ pip install -e git+https://github.com/Chive/django-multiupload.git#egg=multiupload

Usage

Add the form field to your form and make sure to save the uploaded files in the form's save method.

For more detailed examples visit the examples section

# forms.py
from django import forms
from multiupload.fields import MultiFileField

class UploadForm(forms.Form):
    attachments = MultiFileField(min_num=1, max_num=3, max_file_size=1024*1024*5)

    # if you need to upload media files, you can use do this:
	attachments = MultiMediaField(min_num=1, max_num=3, max_file_size=1024*1024*5, media_type = 'video') # 'audio', 'video' or 'image'

	# for images (requires Pillow for validation):
	attachments = MultiImageField(min_num=1, max_num=3, max_file_size=1024*1024*5)

(The latter two options just add fancy attributes to HTML's <input>, restricting the scope to corresponding filetypes)

# models.py
from django.db import models

class Attachment(models.Model):
    file = models.FileField(upload_to='attachments')
# views.py
from django.views.generic.edit import FormView
from .forms import UploadForm
from .models import Attachment

class UploadView(FormView):
    template_name = 'form.html'
    form_class = UploadForm
    success_url = '/done/'

    def form_valid(self, form):
        for each in form.cleaned_data['attachments']:
            Attachment.objects.create(file=each)
        return super(UploadView, self).form_valid(form)

About

Dead simple drop-in multi file upload field for Django forms using HTML5's multiple attribute.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%