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

Django导航栏about按钮子页面跳转路径错误如何解决

问题原因

跳转错误是因为导航栏的about链接使用了不带根路径前缀的相对路径,浏览器会自动将相对路径拼接在当前页面的路径后,才会出现在子页面跳转到/chapter/3/about/的问题。

修复方案

1. 使用Django内置URL反向解析(最推荐)

直接在导航栏的about按钮对应的<a>标签中使用Django模板标签,根据你urls.py中定义的name参数生成绝对路径:

<!-- 替换你原来的about按钮链接 -->
<a href="{% url 'about_us' %}">关于</a>

该方案不需要硬编码路径,后续如果调整about页面的路由路径,只要name="about_us"不变,所有链接都会自动同步更新,无需手动修改。

2. 手动写根路径开头的绝对路径

如果不想用模板标签,直接给链接路径开头加上斜杠,代表从站点根目录开始匹配:

<a href="/about/">关于</a>

不要写about/、../about/这类相对路径,开头加/后浏览器就不会和当前页面路径做拼接。

额外优化

你当前的urls.py里存在重复的chapter路由配置:

path('chapter/<int:cid>/', views.view, name="chapter"),
path('chapter/<int:cid>', views.view, name="chapter"),

可以直接删除无末尾斜杠的第二条配置,Django默认开启APPEND_SLASH功能,会自动将没有末尾斜杠的请求重定向到带斜杠的路径,不需要冗余配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:09:05