{"id":15180663,"url":"https://github.com/sjkingo/django-breadcrumbs3","last_synced_at":"2026-03-02T12:01:34.851Z","repository":{"id":57419165,"uuid":"45764919","full_name":"sjkingo/django-breadcrumbs3","owner":"sjkingo","description":"A small app to provide ready-to-go breadcrumb support in Django","archived":false,"fork":false,"pushed_at":"2015-11-08T08:48:26.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-20T22:08:10.858Z","etag":null,"topics":["breadcrumbs","django","django-application","python","python-2-7","python-3"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sjkingo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-11-08T03:09:22.000Z","updated_at":"2017-02-18T10:35:03.000Z","dependencies_parsed_at":"2022-09-07T07:40:31.267Z","dependency_job_id":null,"html_url":"https://github.com/sjkingo/django-breadcrumbs3","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjkingo%2Fdjango-breadcrumbs3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjkingo%2Fdjango-breadcrumbs3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjkingo%2Fdjango-breadcrumbs3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjkingo%2Fdjango-breadcrumbs3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sjkingo","download_url":"https://codeload.github.com/sjkingo/django-breadcrumbs3/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240486474,"owners_count":19809188,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["breadcrumbs","django","django-application","python","python-2-7","python-3"],"created_at":"2024-09-27T16:41:08.476Z","updated_at":"2026-03-02T12:01:29.797Z","avatar_url":"https://github.com/sjkingo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# django-breadcrumbs3\n\nThis app provides support for implementing breadcrumbs in Django's views. It\nallows you to specify the breadcrumbs in your views, and then render them with\none line in your templates. It saves you from having to code ugly and repeated\nmarkup for each and every page.\n\nA full test suite is provided and it works with:\n\n* Python 2.7, 3.3\\*, 3.4, 3.5\\*\n* Django 1.7\\*, 1.8, 1.9b1\\*\n\n\\* Note: Python 3.3 is unsupported on Django 1.9b1, and Python 3.5 is unsupported on Django 1.7.\n\n[![PyPI](https://img.shields.io/pypi/v/django-breadcrumbs3.svg)](https://pypi.python.org/pypi/django-breadcrumbs3)\n[![Build Status](https://travis-ci.org/sjkingo/django-breadcrumbs3.svg)](https://travis-ci.org/sjkingo/django-breadcrumbs3)\n\n## Installation\n\n1. Install from [PyPi](https://pypi.python.org/pypi/django-breadcrumbs3):\n   \n   ```\n   $ pip install django-breadcrumbs3\n   ```\n\n2. Add `breadcrumbs3` to your `INSTALLED_APPS` setting (this is to provide access to the template tag):\n\n   ```python\n   INSTALLED_APPS = (\n       ...\n       'breadcrumbs3',\n   )\n   ```\n\n3. Make sure the Django `request` context processor is added to the settings:\n\n   * Django 1.7:\n   \n     ```python\n     TEMPLATE_CONTEXT_PROCESSORS = (\n         ...\n         'django.core.context_processors.request',\n     )\n     ```\n\n   * Django 1.8 and higher ([docs](https://docs.djangoproject.com/en/1.8/ref/templates/upgrading/#the-templates-settings)):\n\n     ```python\n     TEMPLATES = [\n         {\n             'OPTIONS': {\n                 'context_processors': [\n                     ...\n                     'django.template.context_processors.request',\n                 ],\n                 ...\n             },\n             ...\n         },\n     ]\n     ```\n   \n4. Add the breadcrumbs3 middleware:\n\n   ```python\n   MIDDLEWARE_CLASSES = [\n       ...\n       'breadcrumbs3.middleware.BreadcrumbMiddleware',\n   ]\n   ```\n\n## Testing\n\nYou can run the tests through Django's test runner:\n\n```\n$ python manage.py test breadcrumbs3\n```\n\n## Using breadcrumbs3\n\nThere are two parts to generating breadcrumbs: adding each *crumb* in your\nview, and rendering the breadcrumb list in a template.\n\nAn example view might be:\n\n```python\ndef some_view(request):\n    request.breadcrumbs('Some view title', request.path_info)\n    ...\n```\n\nThere are a few options for calling the `request.breadcrumbs` method:\n\n* The first argument is always required and specifies the title.\n* The second argument is optional, and if given is a URL to link\n  this crumb to. You may like to use [`reverse`](https://docs.djangoproject.com/en/stable/ref/urlresolvers/#reverse) so\n  you don't have to hardcode any URLs.\n* If the second argument is None, no link will be provided for this crumb.\n\nYou can call `request.breadcrumbs()` as many times as needed. The order will be\npreserved when the breadcrumbs are rendered.\n\nYou can then render the breadcrumbs using the `breadcrumbs` template tag:\n\n`templates/some_template.html`:\n\n```html\n{% load breadcrumbs %}\n\n\u003cdiv class=\"breadcrumbs\"\u003e\n    {% breadcrumbs %}\n\u003c/div\u003e\n```\n\nBreadcrumbs are rendered as a list like so:\n\n```html\n\u003cul class=\"breadcrumbs-list\"\u003e\n    \u003cli class=\"breadcrumb\"\u003e...\u003c/li\u003e\n    ...\n\u003c/ul\u003e\n```\n\n## Configuration options\n\nBy default, a link to the homepage is added to the start of every breadcrumb list.\n\nYou can disable this by setting `BREADCRUMBS_HOME_LINK = False` in your settings.\n\nThe name and URL used for this can be configured too:\n\n* `BREADCRUMBS_HOME_LINK_NAME`: defaults to `Home`\n* `BREADCRUMBS_HOME_LINK_URL`: defaults to `/`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsjkingo%2Fdjango-breadcrumbs3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsjkingo%2Fdjango-breadcrumbs3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsjkingo%2Fdjango-breadcrumbs3/lists"}