Simple, yet powerful, code-based menus for Django applications

pip install django-simple-menu==1.2.1


Simple Django Menus

Latest PyPI version Jazzband

django-simple-menu is an entirely code based menu system, because, who really wants to define their menus in the django admin...

It's simple to use, yet provides enough flexibility to provide unlimited children menus, per-request generation and checking of menu items, badges, and more.


Using django-simple-menu is easy.

Install django-simple-menu in your virtualenv and then add menu to your INSTALLED_APPS. Please ensure that you have django.core.context_processors.request listed in the TEMPLATE_CONTEXT_PROCESSORS setting.

For each of your own apps that you want to expose a menu create a new file named and define your menus using the Menu and MenuItem classes you can import from the menu namespace.

In a template you want to render a menu first {% load menu %} then call {% generate_menu %} inside a block and a new varaible named menus will be added to the context. You can now iterate over this menus object to render your menus.

To quickly see everything in action and evaluate django-simple-menut please check out the example project.


The full documentation is located in the docs directory and can be viewed at:


Django 1.6+