You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django中request resolver高亮当前URL失效问题求助

问题修正方案

1. 修复URL反向解析报错

你的URL配置里,根路径('')对应的命名是index,但模板里使用{% url '' %}会让Django找不到对应名称的URL规则,直接触发NoReverseMatch错误。把Home链接的反向解析代码改成{% url 'index' %},对应URL配置里的name='index'。

2. 实现访问landing页面时高亮Home导航

要让Home导航项在访问根路径(index视图)和landing页面时都自动添加active类,需要修改判断条件,同时匹配这两个视图名称:

修正后的导航模板代码:

<li class="nav-item">
  <a href="{% url 'index' %}" class="nav-link {% if request.resolver_match.view_name in ['index', 'landing'] %}active{% endif %}">Home</a>
</li>
<li class="nav-item">
  <a href="{% url 'page' %}" class="nav-link {% if request.resolver_match.view_name == 'page' %}active{% endif %}">Page</a>
</li>

补充说明

  • request.resolver_match.view_name会返回当前请求匹配到的URL规则的name属性值:访问根路径时返回index,访问landing页面时返回landing,访问page页面时返回page。
  • 也可以用字符串逗号分隔的写法{% if request.resolver_match.view_name in 'index,landing' %},效果和列表形式一致,可根据可读性需求选择。

内容的提问来源于stack exchange,提问作者Gandalf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 04:48:18