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
- Install the package with pip or poetry like so:
poetry add django_perfect_breadcrumbs
- Add the middleware to in your
settings.py
:
MIDDLEWARE = [
...
"django_perfect_breadcrumbs.middleware.BreadcrumbsMiddleware",
]
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for django_perfect_breadcrumbs-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ad59a04f4aae2196d5c203073f08990044f96fa62862a12a818f1f134e0ad4e |
|
MD5 | 2d32529f707aca041cbfddd5607f3ff0 |
|
BLAKE2b-256 | 0f1267a0ca070ede95b01144122074e28cc7ada11deedb0d015e11d4518e049d |
Close
Hashes for django_perfect_breadcrumbs-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 736fadc0168a251d4c2f341f8ccfdb0b1704461fc6e405fc513f0991501a95bd |
|
MD5 | ce342e3a274aea26698dddb2fd11bf8b |
|
BLAKE2b-256 | b5e5728b153c4545e384cd05db8db0585ca46a426a0aa9f70b3012be7b301043 |