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 to 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, MultiMediaField, MultiImageField
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 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)
Release files for django-multiupload 0.6.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-multiupload-0.6.1.tar.gz | 6.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_multiupload-0.6.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.6 kB
Release files / django-multiupload-0.6.1.tar.gz
| Download URL | django-multiupload-0.6.1.tar.gz |
|---|---|
| Size | 6.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
85ee24db8fdb1082494daea312fed5649ecab07326f8502ccf58ca6ab2e3fe5d
|
|
BLAKE2b-256 checksum How to use checksums |
6726aeac3095539b591f4dde37c979129c3dccd84c9071f55074ce3c8b99d970
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
|
Release files / django_multiupload-0.6.1-py3-none-any.whl
| Download URL | django_multiupload-0.6.1-py3-none-any.whl |
|---|---|
| Size | 7.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ac968fdce7f2640531acbcc003bf1d41ab122bf72a6972ef02940885f0cea2d5
|
|
BLAKE2b-256 checksum How to use checksums |
180d644af993262efe2fa846beb21707d4a781b2649171f3ee4448079ba8b7de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
|