Built from scratch to replicate some of the Django admin functionality and add some more, to serve as an introspective interface for Django and Mongo.
Python HTML JavaScript
Latest commit 71acdc1 Apr 16, 2016 @pydanny pydanny Update README.rst
Failed to load latest commit information.
docs Add contributing to Sphinx docs Jan 22, 2016
examples Optimizing imports in project files Jun 21, 2015
mongonaut More documentation per #83 Feb 7, 2016
tests Merge pull request #77 from sreedharbukya/master Jan 21, 2016
.gitignore Now is stable. DOH Apr 10, 2012
.travis.yml Added contributing per #83 Jan 21, 2016
CHANGELOG.rst Add contributing to Sphinx docs Jan 22, 2016
CONTRIBUTORS.txt Add Anusha to contributors list Jan 20, 2016
LICENSE.txt prep for 0.2.18 Jun 1, 2013
MANIFEST.in
README.rst Update README.rst Apr 16, 2016
contributing.md Jazzband badge per #83 Feb 7, 2016
setup.py Optimizing imports in project files Jun 21, 2015

README.rst

django-mongonaut

Info:An introspective interface for Django and MongoDB.
Version: 0.2.21
Maintainer:Jazzband (jazzband.io)
Build Status Code Climate Jazzband

This Project is Being Moved to Jazzband

In late 2015 @garrypolley and I agreed to move this project to the @jazzband organization. Since we've both been off MongoDB for several years, maintaining this project ourselves no longer makes sense. By handing this to Jazzband, we are:

  1. Putting the project in a place where it will be maintained and extended.
  2. Removes the time and effort needed to continue to accept and manage pull requests for a project we no longer wish to maintain but has a somewhat active user base.

About

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.

Features

Installation

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 http://www.mongodb.org/downloads

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

INSTALLED_APPS = (
...
'mongonaut',
...
)

You will need the following also set up:

  • django.contrib.sessions
  • django.contrib.messages

Note

No need for autodiscovery() with django-mongonaut!

Add the mongonaut urls.py file to your urlconf file:

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

Configuration

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/mongoadmin.py

# 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()

Documentation

All the documentation for this project is hosted at http://django-mongonaut.rtfd.org.

Dependencies

  • mongoengine >=0.5.2
  • pymongo (comes with mongoengine)
  • sphinx (optional - for documentation generation)

Code of Conduct

This project follows the Jazzband.co Code of Conduct.