Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

CouchDB backends for Django -- run your Django applications without a relational database

branch: master

This branch is 0 commits ahead and 0 commits behind master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 django_couchdb_utils
Octocat-spinner-32 .gitignore
Octocat-spinner-32 AUTHORS
Octocat-spinner-32 LICENSE.txt
Octocat-spinner-32 MANIFEST.in
Octocat-spinner-32 README.rst
Octocat-spinner-32 setup.py
README.rst

README

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 settings.py

INSTALL

General Instructions

  • Reference the django_couchdb_utils apps into your INSTALLED_APPS in settings.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_BACKENDS attribute in settings.py like:

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

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

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

    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'

Something went wrong with that request. Please try again.