Skip to main content

A collection of Django templatetags to flexibly incorporate links and breadcrumbs from app pages to the homepage of a project

Project description

django-project-home-templatetags is a collection of Django templatetags to flexibly incorporate links and breadcrumbs from app pages to the homepage of a project.

If PROJECT_HOME_NAMESPACE is not defined to settings.py, these template tags are silenced.

Source code is available on GitHub at mfcovington/django-project-home-templatetags.

Installation

PyPI

pip install django-project-home-templatetags

GitHub (development branch)

pip install git+http://github.com/mfcovington/django-project-home-templatetags.git@develop

Configuration

Add project_home_tags to INSTALLED_APPS in settings.py:

INSTALLED_APPS = (
    ...
    'project_home_tags',
)

Specify the PROJECT_HOME_NAMESPACE in settings.py:

PROJECT_HOME_NAMESPACE = 'project_name:index_view'

Rather than using an internal namespace, you can also set PROJECT_HOME_NAMESPACE to a specific URL:

PROJECT_HOME_NAMESPACE = 'djangoproject.com'

By default, a link created with a project_home_tags template tag has ‘Home’ as its text. This can be overridden by defining an optional project-wide label with PROJECT_HOME_LABEL in settings.py:

PROJECT_HOME_LABEL = 'Homepage'    # Optional; Default is 'Home'

Both the default and the project-wide label can be overridden by passing a string to the template tag. For example:

{% project_home_breadcrumb_bs4 'Custom Label' %}

Template Tags

{% load project_home %}

Loads the project home template tags in your Django template.

{% project_home_url %}

A template tag to return the project’s home URL.

{% load project_home %}

<a href="{% project_home_url %}">Home</a>

If settings.PROJECT_HOME_NAMESPACE is defined as 'project_name:index_view', this is equivalent to:

<a href="{% url 'project_name:index_view' %}">Home</a>

{% project_home_breadcrumb_bs3 %}

A template tag to return the project’s home URL and label formatted as a Bootstrap 3 breadcrumb.

{% load project_home %}

<ol class="breadcrumb">
  {% project_home_breadcrumb_bs3 %}    {# <--- #}
  <li><a href="{% url 'app:namespace' %}">List of Objects</a></li>
  <li class="active">Object Detail</li>
</ol>

If settings.PROJECT_HOME_NAMESPACE is defined as 'project_name:index_view', this is equivalent to:

<ol class="breadcrumb">
  <li><a href="{% url 'project_name:index_view' %}">Home</a></li>    {# <--- #}
  <li><a href="{% url 'app:namespace' %}">List of Objects</a></li>
  <li class="active">Object Detail</li>
</ol>

{% project_home_breadcrumb_bs4 %}

A template tag to return the project’s home URL and label formatted as a Bootstrap 4 breadcrumb.

{% load project_home %}

<ol class="breadcrumb">
  {% project_home_breadcrumb_bs4 %}    {# <--- #}
  <li class="breadcrumb-item" aria-label="breadcrumb"><a href="{% url 'app:namespace' %}">List of Objects</a></li>
  <li class=" breadcrumb-item active" aria-label="breadcrumb" aria-current="page">Object Detail</li>
</ol>

If settings.PROJECT_HOME_NAMESPACE is defined as 'project_name:index_view', this is equivalent to:

<ol class="breadcrumb">
  <li class="breadcrumb-item" aria-label="breadcrumb"><a href="{% url 'project_name:index_view' %}">Home</a></li>    {# <--- #}
  <li class="breadcrumb-item" aria-label="breadcrumb"><a href="{% url 'app:namespace' %}">List of Objects</a></li>
  <li class=" breadcrumb-item active" aria-label="breadcrumb" aria-current="page">Object Detail</li>
</ol>

Version 0.2.1

Revision History

0.2.1 2018-12-09

  • Don’t modify home_namespace globally

  • Exclude .pyc files from distribution

0.2.0 2018-12-08

  • Allow settings.PROJECT_HOME_NAMESPACE to be an actual URL, rather than just an internal namespace

0.1.0 2018-11-20

  • A collection of Django templatetags to flexibly incorporate links and breadcrumbs from app pages to the homepage of a project

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

Built Distribution

django_project_home_templatetags-0.2.1-py2.py3-none-any.whl (5.8 kB view hashes)

Uploaded Python 2 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