public
Description: Demo showing how to use MongoDB with PyMongo from a Django project
Homepage: http://www.mongodb.org
Clone URL: git://github.com/mdirolf/DjanMon.git
name age message
file .gitignore Wed Jul 29 10:42:44 -0700 2009 initial commit [Mike Dirolf]
file README.rst Wed Jul 29 11:38:53 -0700 2009 minor: more README [Mike Dirolf]
file __init__.py Wed Jul 29 10:55:20 -0700 2009 Django project boilerplate [Mike Dirolf]
file manage.py Wed Jul 29 10:55:20 -0700 2009 Django project boilerplate [Mike Dirolf]
file settings.py Fri Jul 31 14:38:04 -0700 2009 django example [Mike Dirolf]
directory static/ Fri Aug 07 06:19:35 -0700 2009 oops - forgot to push these directories [Mike Dirolf]
directory status/ Fri Aug 07 07:17:40 -0700 2009 missed this in the conversion from web.py [Mike Dirolf]
directory templates/ Fri Aug 07 06:19:35 -0700 2009 oops - forgot to push these directories [Mike Dirolf]
file urls.py Fri Jul 31 14:38:04 -0700 2009 django example [Mike Dirolf]
README.rst

DjanMon

Author: Mike Dirolf <mike@10gen.com>

About

DjanMon is a demo showing how to use MongoDB and PyMongo from a Django project.

As of this writing there is no support for using MongoDB as a django.db backend. There is at least one project trying to implement this type of direct support for Django, although some people disagree with that approach.

This project is an attempt to show how MongoDB can be used from within a Django project even without django.db support.

MongoDB and Django

Since Django models don't work with MongoDB, you'll need to disable the authentication, admin and sessions components (all of which depend on Django models) in settings.py. You should also leave all of the DATABASE_* settings set to the empty string. The relevant sections of settings.py should look something like the following:

DATABASE_ENGINE = ''
DATABASE_NAME = ''
DATABASE_USER = ''
DATABASE_PASSWORD = ''
DATABASE_HOST = ''
DATABASE_PORT = ''

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
#    'django.contrib.sessions.middleware.SessionMiddleware',
#    'django.contrib.auth.middleware.AuthenticationMiddleware',
)

INSTALLED_APPS = (
#    'django.contrib.auth',
    'django.contrib.contenttypes',
#    'django.contrib.sessions',
    'django.contrib.sites',
)

Also, keep in mind you won't need to use manage.py to sync your database like you normally would with Django - MongoDB is schema-free!

Dependencies

You'll need Django, MongoDB and PyMongo installed to run DjanMon.