Skip to main content

No project description provided

Project description

Perfect Breadcrumbs

Breadcrumbs for perfectionists with deadlines.

About

This package provides an easy way to add breadcrumbs to your Django project.

Usage

  1. Install the package with pip or poetry like so:
poetry add django_perfect_breadcrumbs
  1. Add the middleware to in your settings.py:
MIDDLEWARE = [
    ...
    "django_perfect_breadcrumbs.middleware.BreadcrumbsMiddleware",
]
  1. Add the context processor in your settings.py:
TEMPLATES = [
    {
        ...
    "OPTIONS": {
    "context_processors": [
        ...
        "django_perfect_breadcrumbs.context_processors.breadcrumbs",
    ],
},
},
]

You will now have access to breadcrumb_builder and breadcrumbs in view request objects.

Your templates will also contain the breadcrumbs variables.

Builder

Use the builder to add your breadcrumbs:

def home(request):
    return render(request, "testapp/index.html")


def about(request):
    request.breadcrumb_builder.add("Home", reverse_lazy("home"))
    request.breadcrumb_builder.add("About", active=True)
    return render(request, "testapp/about.html")


def about_josh(request):
    breadcrumbs = [
        {"name": "Home", "url": reverse_lazy("home")},
        {"name": "about", "url": reverse_lazy("about")},
        {"name": "About Josh", "active": True},
    ]
    request.breadcrumb_builder.add_bulk(breadcrumbs)
    return render(request, "testapp/josh.html")

Then use breadcrumbs in your templates:

<nav aria-label="breadcrumb">
  <ol class="breadcrumb">
    {% for breadcrumb in breadcrumbs %}
    {% if breadcrumb.active %}
    <li class="breadcrumb-item active"
        aria-current="page">{{ breadcrumb.name }}
    </li>
    {% else %}
    <li class="breadcrumb-item"><a
        href="{{ breadcrumb.url }}">{{ breadcrumb.name }}</a></li>
    {% endif %}
    {% endfor %}
  </ol>
</nav>

License

MIT

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_perfect_breadcrumbs-0.1.0.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_perfect_breadcrumbs-0.1.0-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file django_perfect_breadcrumbs-0.1.0.tar.gz.

File metadata

  • Download URL: django_perfect_breadcrumbs-0.1.0.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.4 Linux/5.15.0-78-generic

File hashes

Hashes for django_perfect_breadcrumbs-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8ad59a04f4aae2196d5c203073f08990044f96fa62862a12a818f1f134e0ad4e
MD5 2d32529f707aca041cbfddd5607f3ff0
BLAKE2b-256 0f1267a0ca070ede95b01144122074e28cc7ada11deedb0d015e11d4518e049d

See more details on using hashes here.

File details

Details for the file django_perfect_breadcrumbs-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_perfect_breadcrumbs-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 736fadc0168a251d4c2f341f8ccfdb0b1704461fc6e405fc513f0991501a95bd
MD5 ce342e3a274aea26698dddb2fd11bf8b
BLAKE2b-256 b5e5728b153c4545e384cd05db8db0585ca46a426a0aa9f70b3012be7b301043

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page