Могу ли я изменить рендеринг шаблона Jinja на основе пользовательской переменной метаданных? [закрыто]Python

Программы на Python
Anonymous
 Могу ли я изменить рендеринг шаблона Jinja на основе пользовательской переменной метаданных? [закрыто]

Сообщение Anonymous »

Я создал веб-сайт с использованием HTML и CSS, где панель навигации, отображаемая на каждой странице, имеет ряд вкладок со ссылками. В настоящее время я настроил его так, чтобы ссылка на текущую страницу или раздел на этой странице имела другой цвет. Например, когда вы находитесь на странице «О программе» или на любых страницах, принадлежащих к этой категории, кнопка «О программе» имеет белый цвет, а все остальные кнопки — красный. На страницах, которые не принадлежат ни к одному из разделов веб-сайта, например на странице 404, все вкладки панели навигации имеют красный цвет. Это достигается с помощью класса «текущая страница», который я добавляю к классу «nav-button» в соответствующем div.
Недавно я пытался портировать сайт в Pelican, который использует шаблоны Jinja. Есть ли способ использовать переменные Jinja, чтобы изменить только эту небольшую часть навигации, не заменяя ее целиком? (Основная причина, по которой я пытаюсь использовать Pelican, заключается в том, что мне надоело вручную обновлять заголовок на каждой странице.) Я новичок в работе с Jinja, и я также не совсем знаю, как программировать в целом, но стараюсь изо всех сил.
Вот одно решение, которое я пробовал, но оно не сработало (мне очень неловко, что я попробовал это, но в инструкциях сказано включить всю информацию о том, что вы пробовал.)

Код: Выделить всё

{% block nav %}

{% set currH = ' current-page' if SECTION == 'Home' else '' %}
{% set currA = ' current-page' if SECTION == 'About' else '' %}

[url=/]Home[/url]
[url=/about.html]About[/url]

{% endblock nav %}
А затем я поместил этот в заголовок html-документа дочернего шаблона. (индекс — это DIRECT_TEMPLATE, поэтому ему не нужен отдельный файл содержимого.) Это вообще не сработало.
Изменить: я пытался создать ключевое слово метаданных и установить переменную таким образом, вот в чем была проблема.

Подробнее здесь: https://stackoverflow.com/questions/797 ... a-variable

Вернуться в «Python»