bry*_*bee 5 python django twitter-bootstrap
我在 Bootstrap 的导航栏上有一堆链接
<ul class="nav navbar-nav">
<li ><a href="{% url 'home' %}">Home</a></li>
<li ><a href="{% url 'about' %}">About</a></li>
<li ><a href="{% url 'contact' %}">Contact</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
假设我在“主页”部分,我想<li class="active">在 Django 上添加一个文本。
我的第一直觉是将上下文变量用于views.py并执行类似的操作
context = { 'section' : 'home' }
Run Code Online (Sandbox Code Playgroud)
然后做字符串的匹配
<ul class="nav navbar-nav">
<li {% if section == 'home' %}class="active"{% endif %}><a href="{% url 'home' %}">Home</a></li>
<li {% if section == 'about' %}class="active"{% endif %}><a href="{% url 'about' %}">About</a></li>
<li {% if section == 'contact' %}class="active"{% endif %}><a href="{% url 'contact' %}">Contact</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
对我来说,这似乎违反了 DRY,所以我问社区是否有更时尚的方式来表示这一点?
我更喜欢检查模板中的 URL:
<li {% if "/" == request.path %}class="active"{% endif %}><a href="{% url 'home' %}">Home</a></li>
<li {% if 'mypage1' in request.path %}class="active"{% endif %}><a href="{% url 'my_page_1' %}">My Page 1</a></li>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2272 次 |
| 最近记录: |