Skip to main content

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:

Kudos and many thanks to all of them!

License

Copyright (c) 2018 Emanuele Bertoldi

MIT License

Metadata

Release files for django-dropbox-storage-fixed 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-dropbox-storage-fixed 0.5.1
File Size Uploaded Provenance
django-dropbox-storage-fixed-0.5.1.tar.gz 8.8 kB Without provenance Details

Release files / django-dropbox-storage-fixed-0.5.1.tar.gz

Download URL django-dropbox-storage-fixed-0.5.1.tar.gz
Size 8.8 kB
Tags Source
SHA-256 checksum
How to use checksums
66287c24bc2ac11ceb0e6266af1220b48d9bb2df8abbb947fa72fcb4c03e7dc5
BLAKE2b-256 checksum
How to use checksums
a3176e958abe54b1195bbb0c6370776025ee0918edeb134f3e5193722434080b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.5

Security for django-dropbox-storage-fixed 0.5.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.

Release history Release notifications | RSS feed

This release

0.5.1 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page