This project's goal is to replace the RDBMS specific backends used in Django with CouchDB using Couchdbkit.
Currently it has a moderately tested:
- Auth backend
- Session backend
- Cache backend
- Email Cache backend wraps another email backend and caches mails that could not be sent
- OpenID consumer using CouchDB store (requires django-openid)
To use this library, install Couchdbkit and reference it in your INSTALLED_APPS in settings.py
General Instructions
Reference the
django_couchdb_utilsapps into yourINSTALLED_APPSinsettings.py:... "django_couchdb_utils.auth", "django_couchdb_utils.sessions", "django_couchdb_utils.cache", ...
To the
COUCHDB_DATABASES(which is used by Couchdbkit) add the couchdb utils apps that you plan to use:('django_couchdb_utils_auth', 'http://127.0.0.1:5984/authdb'), ('django_couchdb_utils_sessions', 'http://127.0.0.1:5984/sessionsdb'), ('django_couchdb_utils_cache', 'http://127.0.0.1:5984/cachedb'), ...If your do not use Couchdbkit otherwise, just add the following to your
settings.py:COUCHDB_DATABASES = ( ('django_couchdb_utils_auth', 'http://127.0.0.1:5984/somedb'), ... )As the library doesn't make any assumptions about the Ids of the CouchDB objects it stores, it is safe to use it with an already existing database.
To enable authentication support add the
AUTHENTICATION_BACKENDSattribute insettings.pylike:AUTHENTICATION_BACKENDS = ('django_couchdb_utils.auth.backends.CouchDBAuthBackend',)To enable cache support add the
CACHE_BACKENDattribute insettings.pylike:CACHE_BACKEND = "cache.couch://"
To enable sessions support add the
SESSION_ENGINEattribute insettings.pylike:SESSION_ENGINE = "django_couchdb_utils.sessions.couchdb"
To enable the CouchDB email caching backend, set the
EMAIL_BACKENDattribute insettings.pylike:EMAIL_BACKEND = "django_couchdb_utils.email.CouchDBEmailBackend"
# the backend that should be wrapped by the CouchDB caching backend COUCHDB_EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend'