Например, на странице «Маст-шапка» (которая находится в разделе «О программе») я хочу, чтобы вкладка «О программе» на панели навигации имела другой цвет. Раньше я делал это, добавляя класс CSS (и ) вручную. Теперь я хочу сделать это более эффективно, используя макросы и переменные Jinja. Я также хочу добавить еще одну внутреннюю кнопку навигации на текущей странице.
Вот соответствующая часть base.html:
Код: Выделить всё
{% block nav %}
{% set btnH = '[url=/]Home[/url]'%}
{% set btnA = '[url=/about.html]About[/url]'%}
{% macro set_curr (section) %}
{% if section == 'Home' %}
{% set btnH = '[url=/]Home[/url]'%}
{% elif section == 'About' %}
{% set btnA = '[url=/about.html]About[/url]'%}
{% endif %}
{% endmacro %}
{{ set_curr("{{ section }}") }}
{{ btnH }}
{{ btnA }}
И в index.html:
Код: Выделить всё
{% extends "base.html" %}
{% block title %}Homepage{% endblock title %}
{% block section %}{% set section = 'Home' %}{% endblock section %}
{% block content %}
Lorem ipsum
{% endblock content %}
Код: Выделить всё
[url=/]Home[/url]
[url=/about.html]About[/url]
Почему это не работает? Что я неправильно понимаю в макросах Jinja или области видимости переменных?
Подробнее здесь: https://stackoverflow.com/questions/797 ... ses-in-a-t
Мобильная версия