Django |如何通过更改URL来更改导航类?

时间:2020-10-07 13:23:29

标签: html css django

我想知道根据URL的更改来更改html类名称的最佳方法。

align

每次使用导航项目后,我都希望该类包含“活动”,例如如果网址中包含“ site.com/snippets”,我希望该类说“导航项目处于活动状态”,我认为是使用请求.get_full_path中的if标记可能是一种方法,但这会造成混乱。

2 个答案:

答案 0 :(得分:1)

一种执行此操作的方法是:

 <li class="nav-item {% if request.resolver_match.url_name == 'home' %}active{% endif %}">

答案 1 :(得分:1)

有很多方法可以实现。

我认为这是最简单的。当您在控制器上渲染视图时,可以传递一个var并在需要时打印它:

return render(request, 'snippets.html', {'active-nav-item': 'home' }

每个导航项检查变量

<li class="nav-item {% if active-nav-item == 'home' %}active{% endif %}">