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
File details
Details for the file django-dbstorage-1.3.tar.gz
.
File metadata
- Download URL: django-dbstorage-1.3.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9781ad01ec8ed053a1c750cf2ab3324c73648e33b9f3b40e6b0f44d5ed06aef |
|
MD5 | ff76d0fea0dfaa075e7d08125b640c75 |
|
BLAKE2b-256 | e8442172137f563de6b879634cddcb9e2c7d5fab75685ba2974a17320290715e |