导航栏中的项目是<li>'s
,“选定”项目具有属性class="active"
:
<li class="active"> <a href="#"> Link1 </a> </li>
<li> <a href="#"> Link2 </a> </li>
在 Django 中,这些项目将位于一个模板中,该模板包含在任何应该显示导航栏的模板中。我正在考虑这样做:
<li> <a href="/" class="{% if template_name == "home.djhtml" %}active{% endif %}"> Home </a> </li>
<li> <a href="about/" class="{% if template_name == "about.djhtml" %}active{% endif %}"> About </a> </li>
<li> <a href="contact/" class="{% if template_name == "contact.djhtml" %}active{% endif %}"> Contact </a> </li>
我想知道是否有一种内置的方法来获取template_name
(即正在渲染的模板,传递给render_to_response()
, in views.py
)
当然,我可以显式地向 中添加一个template_name
变量render_to_response()
,这将解决问题。但是考虑到 DRY,我觉得这不应该是必要的。