CouchDB specific backends for Django
Python JavaScript



This project's goal is to replace the RDBMS specific backends used in Django with CouchDB using Couchdbkit.

Currently it has a moderately tested:

To use this library, install Couchdbkit and reference it in your INSTALLED_APPS in


General Instructions

  • Reference the django_couchdb_utils apps into your INSTALLED_APPS in

  • To the COUCHDB_DATABASES (which is used by Couchdbkit) add the couchdb utils apps that you plan to use:

    ('django_couchdb_utils_auth',     ''),
    ('django_couchdb_utils_sessions', ''),
    ('django_couchdb_utils_cache',    ''),

    If your do not use Couchdbkit otherwise, just add the following to your

      ('django_couchdb_utils_auth', ''),

    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_BACKENDS attribute in like:

    AUTHENTICATION_BACKENDS = ('django_couchdb_utils.auth.backends.CouchDBAuthBackend',)
  • To enable cache support add the CACHE_BACKEND attribute in like:

    CACHE_BACKEND = "cache.couch://"
  • To enable sessions support add the SESSION_ENGINE attribute in like:

    SESSION_ENGINE = "django_couchdb_utils.sessions.couchdb"
  • To enable the CouchDB email caching backend, set the EMAIL_BACKEND attribute in like:


    # the backend that should be wrapped by the CouchDB caching backend COUCHDB_EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend'