通常,你想要一个带有活动导航项的导航栏。这确实很容易实现。由于子模板中块外部的分配是全局的,并且是在评估布局模板之前执行的,因此可以在子模板中定义活动菜单项:
{% extends "layout.html" %}{% set active_page = "index" %}然后可以访问布局模板
active_page。另外,为该变量定义一个默认值也很有意义:
{% set navigation_bar = [ ('/', 'index', 'Index'), ('/downloads/', 'downloads', 'Downloads'), ('/about/', 'about', 'about')] -%}{% set active_page = active_page|default('index') -%}...<ul id="navigation"> {% for href, id, caption in navigation_bar %} <li{% if id == active_page %} {% endif %}><a href="{{ href|e }}">{{ caption|e }}</a> </li>{% endfor %}</ul>


