django-simple-menu
                                
                                 django-simple-menu copied to clipboard
                                
                                    django-simple-menu copied to clipboard
                            
                            
                            
                        Simple, yet powerful, code-based menus for Django applications
=================================== django-simple-menu |latest-version|
|jazzband| |build-status| |coverage| |docs| |python-support| |django-support|
.. |latest-version| image:: https://img.shields.io/pypi/v/django-simple-menu.svg :target: https://pypi.python.org/pypi/django-simple-menu :alt: Latest version on PyPI
.. |jazzband| image:: https://jazzband.co/static/img/badge.svg :target: https://jazzband.co/ :alt: Jazzband
.. |build-status| image:: https://github.com/jazzband/django-simple-menu/actions/workflows/test.yml/badge.svg :target: https://github.com/jazzband/django-simple-menu/actions :alt: Build Status
.. |coverage| image:: https://img.shields.io/codecov/c/github/jazzband/django-simple-menu.svg :target: https://codecov.io/github/jazzband/django-simple-menu :alt: Test coverage status
.. |docs| image:: https://img.shields.io/readthedocs/django-simple-menu/latest.svg :target: https://django-simple-menu.readthedocs.io/ :alt: Documentation status
.. |python-support| image:: https://img.shields.io/pypi/pyversions/django-simple-menu :target: https://pypi.python.org/pypi/django-simple-menu :alt: Supported Python versions
.. |django-support| image:: https://img.shields.io/pypi/djversions/django-simple-menu :target: https://pypi.org/project/django-simple-menu :alt: Supported Django versions
django-simple-menu is an entirely code based menu system, because, who
really wants to define their menus inside 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.
Quickstart
Requirements: Python 3.6+, Django 3.2+
Note: While this package does support Python 3.6 and 3.7 as well as Django 4.0, we do not test the package under these versions and may miss some bugs.
- 
Install the django-simple-menupackage.
- 
Add simple_menuto yourINSTALLED_APPS.- please ensure that you have django.template.context_processors.requestlisted underTEMPLATES[...]["OPTIONS"]["context_processors"].
 
- please ensure that you have 
- 
Create menus.pyinside each app you want to create a menu for and define said menus using theMenuandMenuItemclasses you can import from thesimple_menupackage.
- 
In your templates, load the template tags ( {% load simple_menu %}) and call{% generate_menu %}inside a block. Your context will be populated with a new object namedmenus. You can now iterate over it to render your menus.
To quickly see django-simple-menu in action, check out the
example project_.
.. _example project: https://github.com/jazzband/django-simple-menu/tree/master/example
More
Full documentation, including installation and configuration instructions, is available at https://django-simple-menu.readthedocs.io/.
django-simple-menu is released under the BSD 2-Clause "Simplified" License.
If you like it, please consider contributing!
django-simple-menu was originally created by
Evan Borgstom [email protected] and was further developed by many
contributors_.
.. _contributors: https://github.com/jazzband/django-simple-menu/graphs/contributors