Skip to main content

An introspective interface for Django and MongoDB

Project description



An introspective interface for Django and MongoDB.




Daniel Greenfeld (

Build Status


django-mongonaut is an introspective interface for working with MongoDB via mongoengine. Rather then attempt to staple this functionality into Django’s Admin interface, django-mongonaut takes the approach of rolling a new framework from scratch.

By writing it from scratch I get to avoid trying to staple ORM functionality on top of MongoDB, a NoSQL key/value binary-tree store.



Made as easy as possible, setup is actually easier than django.contrib.admin. Furthermore, the only dependencies are mongoengine and pymongo. Eventually django-mongonaut will be able to support installations without mongoengine.

Get MongoDB:

Download the right version per

Get mongoengine (and pymongo):

pip install mongoengine=>0.5.2

Get the code:

pip install django-mongonaut==0.2.20

Install the dependency in your


You will need the following also set up:

  • django.contrib.sessions

  • django.contrib.messages

Add the mongonaut file to your urlconf file:

urlpatterns = patterns('',
    (r'^mongonaut/', include('mongonaut.urls')),


django-mongonaut will let you duplicate much of what django.contrib.admin gives you, but in a way more suited for MongoDB. Still being implemented, but already works better than any other MongoDB solution for Django. A simple example:

# myapp/

# Import the MongoAdmin base class
from mongonaut.sites import MongoAdmin

# Import your custom models
from blog.models import Post

# Instantiate the MongoAdmin class
# Then attach the mongoadmin to your model
Post.mongoadmin = MongoAdmin()


All the documentation for this project is hosted at


  • mongoengine >=0.5.2

  • pymongo (comes with mongoengine)

  • sphinx (optional - for documentation generation)

Support this project!

You can hire the lead maintainer to perform dedicated work on this package. Please email


  • 0.2.21 (05/19/2014)

    • Backwards compatible templates so things work in Django 1.4 again. (@ashishsingh2205)

  • 0.2.20 (26/03/2014)

    • Python 3.3 compatibility (@haard)

    • Working test harness (@j1z0)

    • Fixed missing url function call in documentation (@JAORMX)

  • 0.2.19 (18/07/2013)

    • Use Select widget if choices defined for a field (@jeff-ogmento )

    • Use ordering if defined in MongoAdmin class (@jeff-ogmento )

    • Respect order of list_fields in admin class (@jeff-ogmento )

    • Fixed “django.conf.urls.defaults is deprecated” (@swaroopch)

    • Fix search (@swaroopch)

    • Make index page also password-protected (@swaroopch)

  • 0.2.18 Various things

  • 0.2.17 Can now add, and modify ListFields and Embedded document fields @garrypolley

  • 0.2.16 ListFields can be added and updated @garrypolley

  • 0.2.15 Editing or Adding a document does not require all fields to be filled out @garrypolley

  • 0.2.14 Fixed pymongo version thanks to @marsam and pagination fixes thanks to @jerzyk

  • 0.2.13 Fields validation and type conversion thanks to @jerzyk

  • 0.2.12 Bump to mongoengine 0.6.2, PEP-8, and fixing the is_authenticated problem in default permission controls.

  • 0.2.11 Change style over to Twitter Bootstrap 2.0.0, Add templates to manifest

  • 0.2.10 Proper Reference field saves, more permission fixes

  • 0.2.9 Permissions correction - Do remember this is in ALPHA!!!

  • 0.2.8 Test components, permission controls in the views, first pass on deletes, Reference field display and some really bad SELECT widget implementations on it.

  • authenticated Permissions refactor, list_fields implementation, and ability to add new documents

  • 0.2.6 Major performance enhancement of the DocumentListView

  • 0.2.5 Added EmbeddedDocument to form views

  • 0.2.4 Installation fix

  • 0.2.3 Installation fix

  • 0.2.2 Supporting of Boolean and Datetime fields and search to boot

  • 0.2.1 Project description fix

  • 0.2.0 basic form saves, pagination, and formatting

  • 0.1.0 Inception and fundamentals

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-mongonaut-0.2.21.tar.gz (38.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page