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 hashes)

Uploaded Source

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