Определение активной страницы в шаблоне

  • Опубликовано:
Иногда в шаблоне при оформлении меню навигации нужно как-то отметить текущую активную страницу, чтобы подсветить пункт меню. Для этого можно написать такой тег:
## tags.py
@register.simple_tag
def current(request, pattern):
    pattern = '^' + pattern
    import re
    if re.search(pattern, request.path):
        return 'current'
    return ''


{% load tags %}

Как видно, в таком варианте возможно использование именованных адресов типа {% url myurl %}