CouchDB backends for Django -- run your Django applications without a relational database
Python Shell JavaScript
#10 Compare This branch is 506 commits ahead of theju:master.
Latest commit ae9dd2c Jun 9, 2014 @stefankoegl rename "auth" to "couchauth"
avoids name clash when using couchauth together with django.contrib.auth
Failed to load latest commit information.
django_couchdb_utils rename "auth" to "couchauth" Jun 9, 2014
AUTHORS add "Christian Krause" to authors Apr 16, 2012
LICENSE.txt Added a BSD License to the project Jun 12, 2009 remove incorrect lines from Dec 30, 2013
README.rst doc files Jun 23, 2011 rename "auth" to "couchauth" Jun 9, 2014



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'