django-mongonaut 0.2.21
An introspective interface for Django and MongoDB
License: MIT
Keywords: mongodb,django

================
django-mongonaut
================
:Info: An introspective interface for Django and MongoDB.
:Version: 0.2.21
:Maintainer: Daniel Greenfeld (http://pydanny.com)

.. image:: https://travis-ci.org/pydanny/django-mongonaut.png
   :alt: Build Status
   :target: https://travis-ci.org/pydanny/django-mongonaut

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
=========

- Automatic introspection of mongoengine documents.
- Ability to constrain who sees what and can do what.
- Full control to add, edit, and delete documents
- More awesome stuff! See http://django-mongonaut.readthedocs.org/en/latest/index.html#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:

.. sourcecode:: python

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

* http://django-mongonaut.readthedocs.org/en/latest/api.html

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)

Support this project!
======================

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


=========
CHANGELOG
=========

* 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