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+

  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.

Project details


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.2.post1.tar.gz (184.5 kB view details)

Uploaded Source

Built Distribution

django_simple_menu-2.1.2.post1-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file django_simple_menu-2.1.2.post1.tar.gz.

File metadata

File hashes

Hashes for django_simple_menu-2.1.2.post1.tar.gz
Algorithm Hash digest
SHA256 49d1d85eefa14fdc5213059e56072400cdff914a197e73cfc68e8afc69b6b411
MD5 92ccbf721fe3df6103e24013c23f5265
BLAKE2b-256 eb02e76f6fd8f6d53bc6e276700bc37a1cc674c9b1ee875fa1a22697b7654c4f

See more details on using hashes here.

File details

Details for the file django_simple_menu-2.1.2.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_simple_menu-2.1.2.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 394cbc80d5cd225fd93217af9b8656476ddb01e8e2598cdc81a75927ee4d828a
MD5 faedc02bd55b9660d204652d2740e19f
BLAKE2b-256 c3c738925514244e319617335e44c34e070b25f161a98ba686c7b4001d5b2986

See more details on using hashes here.

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