Metadata-Version: 2.1
Name: django-simple-menu
Version: 2.1.3
Summary: Simple, yet powerful, code-based menus for Django applications
Author-email: Evan Borgstrom <evan@borgstrom.ca>
License: BSD 2-Clause
Project-URL: Source Code, https://github.com/jazzband/django-simple-menu
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Django
Classifier: Framework :: Django :: 3.2
Classifier: Framework :: Django :: 4.1
Classifier: Framework :: Django :: 4.2
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: Django >=3.2
Requires-Dist: importlib-metadata ; python_version < "3.8"

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

1. Install the ``django-simple-menu`` package.

2. Add ``simple_menu`` to your ``INSTALLED_APPS``.

   - please ensure that you have ``django.template.context_processors.request``
     listed under ``TEMPLATES[...]["OPTIONS"]["context_processors"]``.

3. Create ``menus.py`` inside each app you want to create a menu for and define
   said menus using the ``Menu`` and ``MenuItem`` classes you can import from
   the ``simple_menu`` package.

4. 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 named ``menus``. 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 <evan@borgstrom.ca> and was further developed by many
contributors_.

.. _contributors: https://github.com/jazzband/django-simple-menu/graphs/contributors
