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

Django通过path传递变量出现路径重复问题的解决方法

解决方案

出现路径重复拼接的核心原因是你使用了相对路径填写href属性,浏览器会默认基于当前页面的URL父级路径拼接新地址,才会触发重复projects前缀的问题。可通过以下两种方案解决:

  • 方案1:修改为绝对路径写法
    直接在href的路径开头加斜杠/,调整为 /projects/some_string。开头的斜杠会告知浏览器从域名根路径开始拼接地址,无论当前处于哪个子页面下,最终生成的地址都是<ip>/projects/some_string,不会出现重复前缀问题。

  • 方案2(Django场景更推荐):使用路由反向解析
    第一步先给你的路由规则配置name属性:

    path('projects/<s>', PL.projects, name='projects')
    

    第二步在HTML模板中用Django内置模板标签生成地址,硬编码参数写法为:
    {% url 'projects' 'some_string' %}
    如果传递的是模板变量,写法为:
    {% url 'projects' your_variable %}
    该方案无需硬编码路径,后续修改路由规则也不需要批量调整模板中的地址,完全避免路径拼接错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:24:02