Skip to main content

Django app managing simple navigation.

Project description

PyPI version build-status coverage


This Django app manages navigations trees with simple features. It is highly inspired by django-treenav and django-sitetree. It offers a lighter version to allow easy customisation.

The trees structure is using mptt. Each item offer various options to generate the url, restrict access given user status and permissions, classes and behaviours.

Changelist view:

Add view:


It is strongly recommanded to install this theme from GIT with PIP onto you project virtualenv.

From PyPi

pip install mojo-navigation

From Github


This application works with django mptt module in order to display the trees. It is highly recommended to add it in the INSTALLED_APPS.


If you want to use the default model and admin, also install the module itself.


Then install your model with

python syncdb

In case you are using South, you can alternatively do:

python migrate mojo.navigation


There are 2 main managers to help sortting and filtering the menu items.


You can get all items of a specific tree by passing its slug in the for_tree manager, for exemple:

tree_items = Item.objects.for_slug('slug_exemple')


As we are using permissions for items. You can filter items for a specific user to retrieve all the items he has access to by passing its object in the for_user manager, for exemple:

tree_items = Item.objects.for_user(request.user)



You can limit the number of tree levels of trees. For exemple, some menus can be one or two levels only. In such case its useless to allow the the user to add more.

In order to limit the number of levels you need to create a custom admin class inheriting from mojo.navigation.admin.ItemAdmin and add a level_limit attribute with the desired value.

For exemple, this will limit the tree to two levels:

from mojo.navigation.admin import ItemAdmin

class CustomItemAdmin(ItemAdmin):
    level_limit = 1


Please feel free to contribute. Any help and advices are much appreciated.

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

mojo-navigation-0.0.3.tar.gz (9.6 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