Skip to main content

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

Project description

Jazzband Build Status Test coverage status Documentation status Supported Python versions 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.

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-simple-menu-2.1.3.tar.gz (184.6 kB view hashes)

Uploaded Source

Built Distribution

django_simple_menu-2.1.3-py3-none-any.whl (13.9 kB view hashes)

Uploaded Python 3

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