Динамическая настройка активного класса с помощью Flask и jinja2 - PullRequest
0 голосов
/ 29 апреля 2019

Итак, во-первых, я хотел сказать, что я довольно уверен, что я следую инструкциям, приведенным как в официальной документации , так и в SO сообщениях, которые повторяют документациюа также те, которые предоставляют немного другое решение .

В любом случае, это не работает для меня.

Один из моих вопросов вращается вокруг того, как этот код появляется в моем текстовом редакторе.Я прилагаю изображение, чтобы продемонстрировать, как форматируется код jinja2 - все, что находится внутри элемента <li>, выделено курсивом, а двойной == также ведет себя странно.

Вот часть кода, представленная на рисунке:

<ul class="side-link-container center-align">
                {% for href, id, caption in navigation_bar %}
                <li{% if id == active_page %} class="active"{% endif
                %}><a href="{{ href|e }}">{{ caption|e }}</a>
                </li>
                {% endfor %}

Она в значительной степени совпадает с тем, что предписано в документах jinja2 (другие части этого кода, а именно дляЦикл для панели навигации и назначение страницы активации набора, как в дочернем шаблоне, так и в layout.html, здесь не показываются.

Любые советы или помощь по получению активной страницы, которая должна быть классифицирована как таковая, как я могустилизовать его соответственно в навигации? Спасибо.

Изображение кода

1 Ответ

1 голос
/ 29 апреля 2019

То, как код отображается в редакторе, не вызывает никаких проблем, но это может означать, что у вас не установлен плагин / надстройка для поддержки синтаксиса / языка.

Если вы не получаете никаких ошибок шаблона (например, TemplateSyntaxError), возможно, данные в navigation_bar или active_page просто не совпадают. Не могли бы вы включить данные для них?

В качестве альтернативы, я должен установить active_page на базовый шаблон и каждый шаблон страницы:

{% set active_page = 'home' %}

и в пунктах навигации я добавляю:

<li class="other-styles {{'active' if active_page == 'the page' }}">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...