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

Django中如何通过HTML href正确链接到views.py定义的视图

问题原因

你直接把HTML文件名写在href属性里用的是相对路径跳转,完全没匹配Django的路由映射逻辑,浏览器会基于当前所在页面的路径拼接相对地址,比如当前已经在/qualifications/路径下,点qualifications.html的链接就会自动拼成/qualifications/qualifications.html,和你预期的路由路径对不上。

解决方法

Django项目里不要硬编码文件路径或者路由地址,你已经在urls.py里给每个路由配置了name参数,直接用模板标签{% url %}反查对应路径就行,后续就算改路由规则,也不用挨个修改模板里的链接。
把导航部分的HTML代码改成下面这样:

<div id="nav_bar">
    <ul>
        <li><a href="{% url 'home' %}">Home</a></li>
        <li><a href="{% url 'qualifications' %}">Qualifications</a></li>         
    </ul>
</div>

如果你暂时不想用模板标签,也可以直接写站点根路径下的绝对地址,也能正常跳转,但不推荐长期用这种硬编码方式:

<div id="nav_bar">
    <ul>
        <li><a href="/">Home</a></li>
        <li><a href="/qualifications/">Qualifications</a></li>         
    </ul>
</div>

注意:写绝对路径的时候开头的/不能漏,漏了就又变回相对路径,还是会出现之前地址拼接错误的问题。

强烈建议优先使用{% url %}模板标签的写法,后续维护成本极低:如果之后你要把qualifications/的路由改成resume/这类新路径,只需要修改urls.py里的path配置,所有模板里的对应链接会自动同步更新,不用全局找替换硬编码的地址。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 11:27:22