跳转到主要内容

使用HTML5的multiple属性,为django表单提供简单的拖放多文件上传字段。

项目描述

Django Multiupload

Build Status

使用HTML5的multiple属性,为django表单提供简单的拖放多文件上传字段。

安装

  • 使用pip(或如果您真的需要,可以使用easy_install)安装该软件包
$ pip install django-multiupload
  • 或直接从此存储库获取开发版本(如果您愿意冒险的话)
$ pip install -e git+https://github.com/Chive/django-multiupload.git#egg=multiupload

使用方法

将表单字段添加到您的表单中,并确保在表单的save方法中保存上传的文件。

有关更详细的示例,请访问示例部分

# 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)

后两种选项只是向HTML的<input>添加了花哨的属性,将范围限制在相应的文件类型。

# 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)

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源分布

django-multiupload-0.6.1.tar.gz (6.2 kB 查看哈希值)

上传时间: 源码

构建分发

django_multiupload-0.6.1-py3-none-any.whl (7.4 kB 查看哈希值)

上传时间: Python 3

由以下支持