MOJO NAVIGATION
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:
Install
It is strongly recommanded to install this theme from GIT with PIP onto you project virtualenv.
From PyPi
pip install mojo-navigation
From Github
https://github.com/django-mojo/mojo-navigation#egg=mojo-navigation
setup
This application works with django mptt module in order to display the trees. It is highly recommended to add it in the INSTALLED_APPS.
INSTALLED_APPS = (
...
'django_mptt'
...
)
If you want to use the default model and admin, also install the module itself.
INSTALLED_APPS = (
...
'mojo.navigation'
...
)
Then install your model with
python manage.py syncdb
In case you are using South, you can alternatively do:
python manage.py migrate mojo.navigation
Managers
There are 2 main managers to help sortting and filtering the menu items.
Tree
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')
User
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)
Contribution
Please feel free to contribute. Any help and advices are much appreciated.