如何在django模板系统中为主页的每个部分自动选择基本模板中的菜单项?

时间:2011-02-23 10:04:31

标签: django django-templates

我的项目中有几个部分有不同的页面模板,比如A.html,B.html,C.html。它们都扩展了base.html。我想在base.html(页眉)上显示导航菜单,并以不同的方式显示当前页面项,即。为A.html页面上的A链接附加class ='selected'。

我怎样才能达到这个效果?是否可以从基本模板中获取模板的名称?

1 个答案:

答案 0 :(得分:1)

您可以将当前项的名称放在上下文中,并将其传递给模板。在模板中,检查它是否是所选项目:

<div class='nav'>
    <a {% ifequal selected 'about' %}class='selected'{% endifequal %} href='/about/'>About</a>
    ...
</div>

对于其他解决方案,您可以参考此帖子Django templates - can I set a variable to be used in a parent template?