Skip to main content

Simple Fine Uploader integration for Django

Project description

This is a Django integration of Fine Uploader JavaScript Upload Library.

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

Installation

pip install django-fineuploader

External dependencies

  • jQuery - This is not included in the package since it is expected that in most scenarios this would already be available.

Setup

Add fineuploader and fineuploader.ajaxuploader to INSTALLED_APPS:

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

Be sure you have the django.template.context_processors.request processor

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

Update your urls.py file:

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

and include fineuploader templates

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

When deploying on production server, don’t forget to run:

python manage.py collectstatic

Usage

# 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

License

django-fineuploader is released under the BSD license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-fineuploader-0.2.1.tar.gz (102.0 kB view details)

Uploaded Source

Built Distribution

django_fineuploader-0.2.1-py2.py3-none-any.whl (108.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-fineuploader-0.2.1.tar.gz.

File metadata

  • Download URL: django-fineuploader-0.2.1.tar.gz
  • Upload date:
  • Size: 102.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.8

File hashes

Hashes for django-fineuploader-0.2.1.tar.gz
Algorithm Hash digest
SHA256 ffe41d34517c4a9cff8f1ba6dcc86db5af2d755f4ae4c6daa51010e29df0a655
MD5 863c2346a8c1f6a65b13304ddb21cfec
BLAKE2b-256 875f589ba7c50c7ffae32c293c98565c762f37729731981735680be1e3864ff3

See more details on using hashes here.

File details

Details for the file django_fineuploader-0.2.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_fineuploader-0.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a64a0cc3499ce84cd6ba55a55b8f3529fe7d5631c7ec2ff72c99b3d976312df5
MD5 1a7ef35b333d24ee2f39701173eead9b
BLAKE2b-256 81d8de28a428e7fb75fa96b40c691563583f7b901557b77f481efa5cd04da3ab

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page