Skip to main content

An example django template tag library for adding an "active" class to navigation links.

Project description

django-urlactive-lite

A small template tag library for django, that makes highlighting active links easy.

visit the github.

Purpose

This library is extremely light weight, and I probably won’t add any new features. There are many larger libraries out there that already provide many more features for navigation, so I’d suggeset that people use those instead.

This library is meant partially for people who just want one simple tag to add an “active” class to a navigation link, but mostly just as a simple example of how to create a template tag in django.

Installation

from the command line:

pip install django-urlactive-lite

In your settings.py file, add urlactive to INSTALLED_APPS

INSTALLED_APPS = (
    ...
    'urlactive',
    ...
)

And add django.core.context_processors.request to your TEMPLATE_CONTEXT_PROCESSORS setting in settings.py. Remember to include the other default template context processors:

TEMPLATE_CONTEXT_PROCESSORS = (
    "django.contrib.auth.context_processors.auth",
    "django.core.context_processors.debug",
    "django.core.context_processors.i18n",
    "django.core.context_processors.media",
    "django.core.context_processors.static",
    "django.core.context_processors.tz",
    "django.contrib.messages.context_processors.messages",
    ...
    "django.core.context_processors.request",
    ...
)

Usage

{% url_active ... %}

arguments

The {% url_active ... %} template tag takes one argument, a url, and prints "active" if the url passed as an argument is the same as the url from which the page is rendered.

example

Don’t forget to load the template tag library.

{% load urlactive %}
...
...
...
<ul class="nav">
    {% url 'first_url_name' as first_url %}
    <li class="{% url_active first_url %}">
        <a href="{{ first_url }}"> First </a>
    </li>

    {% url 'second_url_name' as second_url %}
    <li class="{% url_active second_url %}">
        <a href="{{ second_url }}">Second</a>
    </li>

    {% url 'third_url_name' as third_url %}
    <li class="{% url_active third_url %}">
        <a href="{{ third_url }}">Third</a>
    </li>
</ul>

Contributing

There are already many great projects for django around template tags for navigation, so I’m not looking to extend this project. Of course, feel free to fork it and do whatever you want with the code.

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-urlactive-lite-0.1.zip (11.4 kB view details)

Uploaded Source

File details

Details for the file django-urlactive-lite-0.1.zip.

File metadata

File hashes

Hashes for django-urlactive-lite-0.1.zip
Algorithm Hash digest
SHA256 34c659c950e18177c1c8624cbb900d916e2bd6f19e87c479ec46399727d368de
MD5 55db3208a1737d7c31e96ad7b23814b5
BLAKE2b-256 b964aa95f1cced4d4a6f226fa22aee6df2873f8886bdfec7e56785e05ab1693b

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