跳转到主要内容

Django的Fine Uploader集成

项目描述

这是一个DjangoFine Uploader JavaScript上传库的集成。

https://img.shields.io/pypi/v/django-fineuploader.svg https://img.shields.io/pypi/dm/django-fineuploader.svg https://img.shields.io/github/license/bashu/django-fineuploader.svg

安装

pip install django-fineuploader

外部依赖

  • jQuery - 由于在大多数情况下预期它已经可用,因此该软件包中不包括jQuery。

设置

fineuploaderfineuploader.ajaxuploader 添加到 INSTALLED_APPS

INSTALLED_APPS += (
    'fineuploader',
    'fineuploader.ajaxuploader',
)

确保您有 django.template.context_processors.request 处理器

TEMPLATES = [
    {
        ...
        'OPTIONS': {
            'context_processors': [
                ...
                'django.template.context_processors.request',
            ],
        },
    },
]

更新您的 urls.py 文件

urlpatterns += [
    url(r'^fineuploader/', include('fineuploader.urls')),
]

并包含 fineuploader 模板

{% include "fineuploader/fineuploader_css.html" %} {# Before the closing head tag #}
{% include "fineuploader/fineuploader_js.html" %} {# Before the closing body tag #}

在生产服务器上部署时,不要忘记运行

python manage.py collectstatic

使用方法

# forms.py

from django import forms

from fineuploader.forms import FineFormMixin
from fineuploader.formfields import FineFileField

class ExampleForm(FineFormMixin, forms.ModelForm):

    files = FineFileField(label="Files")

    class Meta:
        ...

    def save(self, *args, **kwargs):
        obj = super(ExampleForm, self).save(commit=True)

        self.handle_upload(obj, self.request)  # handle uploaded files

        self.delete_temporary_files()  # deleting temporary files / objects

        return obj

# views.py

from django.views import generic
from django.contrib.auth.mixins import LoginRequiredMixin

class ExampleCreateView(LoginRequiredMixin, generic.CreateView):
    form_class = ExampleForm  # our custom form class
    ...

    def get_form_kwargs(self):
        kwargs = super(ExampleCreateView, self).get_form_kwargs()
        kwargs.update({"request": self.request})  # must pass self.request into form
        return kwargs

class ExampleUpdateView(LoginRequiredMixin, generic.UpdateView):
    form_class = ExampleForm  # our custom form class
    ...

    def get_form_kwargs(self):
        kwargs = super(ExampleUpdateView, self).get_form_kwargs()
        kwargs.update({"request": self.request})  # must pass self.request into form
        return kwargs

许可证

django-fineuploader 在BSD许可证下发布。

项目详情


下载文件

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

源代码分发

django-fineuploader-0.2.1.tar.gz (102.0 kB 查看哈希值)

上传时间 源代码

构建分发

django_fineuploader-0.2.1-py2.py3-none-any.whl (108.0 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持