A Dropbox Storage for your Django apps
Project description
django-dropbox-storage
A Dropbox Storage for your Django apps
What
django-dropbox-storage
allows Django apps to use Dropbox as a storage backend for file uploading.
Installing
First things first:
$ pip install django-dropbox-storage
Then open the settings.py
of your project and include it to your INSTALLED_APPS
:
INSTALLED_APPS = (
...
'django_dropbox_storage',
...
)
If you want to use django_dropbox_storage
as default storage for all file uploads, you need to adjust DEFAULT_FILE_STORAGE
too:
DEFAULT_FILE_STORAGE = 'django_dropbox_storage.storage.DropboxStorage'
If you just want to use it on a single model field, you can simply import it:
from django_dropbox_storage.storage import DropboxStorage
DROPBOX_STORAGE = DropboxStorage()
photo = models.ImageField(upload_to='photos', storage=DROPBOX_STORAGE ...)
In order to let it work properly, you must set the next settings:
DROPBOX_ACCESS_TOKEN = 'xxx'
If you don't have DROPBOX_ACCESS_TOKEN
you can create one after creating a Dropbox app at Dropbox for Developers.
If you have your Dropbox App key
and App secret
, you can set DROPBOX_CONSUMER_KEY
and DROPBOX_CONSUMER_SECRET
settings in settings.py
, then run:
$ python manage.py get_dropbox_token [--settings=test_settings]
And follow up on screen instructions, finally set the DROPBOX_ACCESS_TOKEN_SECRET
in your settings.py
module.
You can also set default root folder setting the value of DROPBOX_ROOT_FOLDER
:
DROPBOX_ROOT_FOLDER = '/Public'
By default it's set to '/'
(root folder).
Tests
Tests are written following Django's best practices.
In order to run them, you need to set DROPBOX_ACCESS_TOKEN
properly.
NOTE: if you're testing this package as stand-alone, you can set the access token in a local_settings.py
module put in the root folder.
To launch the test suite:
$ python manage.py test [--settings=test_settings]
To check the unit tests coverage you can:
$ pip install coverage
$ coverage run manage.py test [--settings=test_settings]
$ coverage report -m
Contributing
When contributing, please follow these steps:
- Clone the repo and make your changes.
- Make sure your code has test cases written against it.
- Make sure all the tests pass.
- Lint your code with Flake8.
- Add your name to the list of contributers.
- Submit a Pull Request.
Authors
- Emanuele Bertoldi
This project is based on previous work by:
- Andres Torres django-dropbox
- Maximiliano Cecilia django-dropbox
- Josh Schneier django-storages
- Danielle Madeley django-storages
Kudos and many thanks to all of them!
License
Copyright (c) 2018 Emanuele Bertoldi
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
Hashes for django-dropbox-storage-fork-0.4.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e11771f94b73d6bccedb2ed583c55c21822e0449a81d0697a84d236fca76e23d |
|
MD5 | 1c792bae8be64ca2f400bf8b0e69f06d |
|
BLAKE2b-256 | a7bff6a6f5f18c6e87a686a8fbfad018343c62bbaed875a0ffddef68010301aa |
Hashes for django_dropbox_storage_fork-0.4.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24629a791cb41ebd9d045e222324feebf020793d353ba7db8f629f99cd4db518 |
|
MD5 | ef21bfaed4eec9e3d8fa3daed06aa4ab |
|
BLAKE2b-256 | 46602bcd0aedcf7ca038fbff8153e334afd6aee2820a7c7e071c21b79203f58c |