Django Uploader
***************
What it does
============
Django Uploader uses `jQuery file upload`_ to allow drag-and-drop file upload of any file type in the Django Admin. Third-party applications to write handlers for specific file types, and register them with Django Uploader. When a file of that type is uploaded, it passes the information to the handler so that it can make a new record with that file.
.. _jQuery file upload: https://blueimp.github.io/jQuery-File-Upload/
Installation
============
1. Installation is easy using ``pip``::
pip install django-uploader
2. Add ``uploader`` to your ``INSTALLED_APPS`` setting.
3. Add the uploader's urls::
url(r'^upload/', include('uploader.urls')),
4. Write one or more upload handlers.
5. Go to /admin/uploader/upload/ to start uploading.
Writing an upload handler
=========================
.. note:: An upload handler does not have to exist within the application for which it creates records. It must simply be within an application that is imported so the handler can be discovered.
An upload handler assigns one or more MIME types to a function. There should only be one handler for a given MIME type, although Uploader does allow some overlap using '\*'. For example, you can have one handler that handles ``image/tiff`` and another that handles ``image/*`` and yet another that handles ``*/*``\ . The ``image/tiff`` handler would get any ``.tiff`` images, the ``image/*`` would get any other type of image and the ``*/*`` handler would get any other type of file.
To start, create a file named ``upload.py`` in your application. This file can contain several different handlers. When the Uploader application is first loaded, it attempts to import this file from every installed application.
A basic handler looks like this::
from uploader.registration import upload_handlers
def photo_handler(obj):
"""
Handle the creation of a SimpleModel record from an uploaded image.
"""
from .models import SimpleModel
new_item = SimpleModel.objects.create(
name=obj.filename,
slug=obj.filename_slug,
description='',
file=obj.file_contents
)
return new_item
photo_handler.thumbnail_attribute = 'thumb'
upload_handlers.register(['image/jpeg', 'image/png'], photo_handler)
Metadata
Release files for django-uploader 0.2.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 | Provenance | Actions |
|---|---|---|---|---|
| django-uploader-0.2.1.tar.gz | 794.5 kB | Without provenance | Details for django-uploader-0.2.1.tar.gz |
Release files / django-uploader-0.2.1.tar.gz
| Download URL | django-uploader-0.2.1.tar.gz |
|---|---|
| Size | 794.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e19d366c0313322c164f661e7ba6b7220dda743664cbc2b38ab3fadee99dc0b4
|
|
BLAKE2b-256 checksum How to use checksums |
889de60970f7b3e743463e738ca056561c4ba7a2602df614b84cbcc51430da5a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for django-uploader 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.