Skip to main content

A Django file storage backend for files in the database.

Project description

A Django file storage backend for files in the database.

Installing

The easiest way to install django-dbstorage is to use pip:

pip install django-dbstorage

Quick Start

In your Django settings file:

  • Add 'django-dbstorage' to INSTALLED_APPS

  • Set DEFAULT_FILE_STORAGE to 'django_dbstorage.storage.DatabaseStorage'

  • Set MEDIA_ROOT and MEDIA_URL to None.

Serving files

In your urls.py, add the following to urlpatterns:

url(r'^media/', include('django_dbstorage.urls'))

Or, if you want to specify more options, use:

url(r'^media/', include(django_dbstorage.urls.serve()))

You should set settings.MEDIA_URL to the root of this include, in this case: /media/.

If you do not wish to serve files from the database, don’t add anything to urls.py and set settings.MEDIA_URL to None.

Customizing

DatabaseStorage takes several options. To customize, subclass it and use that as DEFAULT_FILE_STORAGE. For instance:

class MyDatabaseStorage(DatabaseStorage):
    def __init__(self):
        super(MyDatabaseStorage, self).__init__(location='/tmp',
                                                base_url='/files/',
                                                uniquify_names=True)

As a convenience, there is a NonUniquifyingDatabaseStorage class which does not attempt to find a unique filename when saving. This class throws an IOError with the EEXISTS status code, when attempting to _save().

This functionality is used by other packages, such as django-randomfilenamestorage.

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-dbstorage-1.3.tar.gz (10.5 kB view details)

Uploaded Source

File details

Details for the file django-dbstorage-1.3.tar.gz.

File metadata

File hashes

Hashes for django-dbstorage-1.3.tar.gz
Algorithm Hash digest
SHA256 e9781ad01ec8ed053a1c750cf2ab3324c73648e33b9f3b40e6b0f44d5ed06aef
MD5 ff76d0fea0dfaa075e7d08125b640c75
BLAKE2b-256 e8442172137f563de6b879634cddcb9e2c7d5fab75685ba2974a17320290715e

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