我刚刚在django中完成了我的第一个小型webapp,我喜欢它。我将开始将一个旧的生产PHP网站转换为django,作为其模板的一部分,有一个导航栏。
在PHP中,我会在模板代码中对照当前URL检查每个nav选项的URL,并在它们对齐时应用CSS类。太混乱了。
django是否有更好的东西,还是处理模板中代码的好方法?
首先,我将如何获取当前URL?
我使用模板继承来自定义导航。例如:
base.html
<html> <head>...</head> <body> ... {% block nav %} <ul id="nav"> <li>{% block nav-home %}<a href="{% url home %}">Home</a>{% endblock %}</li> <li>{% block nav-about %}<a href="{% url about %}">About</a>{% endblock %}</li> <li>{% block nav-contact %}<a href="{% url contact %}">Contact</a>{% endblock %}</li> </ul> {% endblock %} ... </body> </html>
about.html
{% extends "base.html" %} {% block nav-about %}<strong class="nav-active">About</strong>{% endblock %}