Skip to content
The best way to highlight active links in your Django project.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github First commit Jul 10, 2017
active_link Bump version: 0.1.4 → 0.1.5 May 25, 2018
docs
tests
.coveragerc First commit Jul 10, 2017
.editorconfig
.gitignore
.pyup.yml
.travis.yml
AUTHORS.rst
CONTRIBUTING.rst
HISTORY.rst
LICENSE
MANIFEST.in
Makefile
README.rst
manage.py
requirements.txt First commit Jul 10, 2017
requirements_dev.txt
requirements_test.txt
runtests.py
setup.cfg
setup.py Bump version: 0.1.4 → 0.1.5 May 25, 2018
tox.ini Remove python3.6 from CI tests Jan 7, 2018

README.rst

Django Active Link

Updates https://travis-ci.org/valerymelou/django-active-link.svg?branch=master

The simplest way to highlight active links in your Django app.

Documentation

The full documentation is at https://django-active-link.readthedocs.io.

Quick start

Install Django Active Link:

pip install django-active-link

Add it to your INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    'active_link',
    ...
)

To use the active_link template tag you need to load active_link_tags templatetags library:

{% load active_link_tags %}

To add an active CSS class to a link when the request path matches a given view just do something like this.

<a href="{% url 'view-name' %}" class="{% active_link 'view-name' %}">Menu item</a>

If you has a sub-menu or tabs and needs they be active and parent too, you can use || to check this:

<a href="{% url 'view-name' %}" class="{% active_link 'view-name || view-sub-name' %}">Menu Item</a>
<a href="{% url 'view-sub-name' %}" class="{% active_link 'view-sub-name' %}">Tab Item</a>

You can also use a custom CSS class:

<a href="{% url 'view-name' %}" class="{% active_link 'view-name' 'custom-class' %}">Menu item</a>

or:

<a href="{% url 'view-name' %}" class="{% active_link 'view-name' css_class='custom-class' %}">Menu item</a>

By default active_link will not perform a strict match. If you want to add the active class only in case of a strict match pass the strict argument to the tag:

<a href="{% url 'view-name' %}" class="{% active_link strict=True %}">Menu item</a>

Replace view-name with the name of your view (including namespaces).

Settings

You can override the default active class and strict mode with the settings ACTIVE_LINK_CSS_CLASS and ACTIVE_LINK_STRICT.

Key Description Default Value
ACTIVE_LINK_CSS_CLASS Active class to use. active
ACTIVE_LINK_STRICT Designates whether to perform a strict match or not. False

For more usage examples, please check the full documentation at https://django-active-link.readthedocs.io.

IMPORTANT: Django Active Link requires that the current request object is available in your template's context. This means you must be using a RequestContext when rendering your template, and django.core.context_processors.request must be in your TEMPLATE_CONTEXT_PROCESSORS setting. See https://docs.djangoproject.com/en/dev/ref/templates/api/#subclassing-context-requestcontext for more information.

TODO

  • Write the documentation

Running Tests

Does the code actually work?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install tox
(myenv) $ tox

Credits

Tools used in rendering this package:

You can’t perform that action at this time.