Simple Fine Uploader integration for Django
Project description
This is a Django integration of Fine Uploader JavaScript Upload Library.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffe41d34517c4a9cff8f1ba6dcc86db5af2d755f4ae4c6daa51010e29df0a655 |
|
MD5 | 863c2346a8c1f6a65b13304ddb21cfec |
|
BLAKE2b-256 | 875f589ba7c50c7ffae32c293c98565c762f37729731981735680be1e3864ff3 |
File details
Details for the file django_fineuploader-0.2.1-py2.py3-none-any.whl
.
File metadata
- Download URL: django_fineuploader-0.2.1-py2.py3-none-any.whl
- Upload date:
- Size: 108.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a64a0cc3499ce84cd6ba55a55b8f3529fe7d5631c7ec2ff72c99b3d976312df5 |
|
MD5 | 1a7ef35b333d24ee2f39701173eead9b |
|
BLAKE2b-256 | 81d8de28a428e7fb75fa96b40c691563583f7b901557b77f481efa5cd04da3ab |