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

如何移除Django中自动添加的URL首个斜杠?

Django URL双斜杠问题解决办法

首先得明确:Django的path()函数第一个参数不需要加开头的斜杠。因为Django在处理请求URL时,会自动把URL开头的/去掉,再和你配置的path规则匹配。你写path('/polls', ...),相当于让Django匹配/polls(去掉请求URL的开头斜杠后),而请求URL本身是http://127.0.0.1:8000/polls,去掉开头斜杠后是polls,匹配不上你写的/polls,反而会因为路由匹配逻辑,最终拼接出双斜杠的URL。

至于你设置APPEND_SLASH = False没用,是因为这个参数的作用是处理URL末尾是否自动添加斜杠,和开头的斜杠完全没关系,所以改它解决不了你的问题。

给你两个解决方向:

  • 最推荐的:直接遵循Django的规范,把path里的开头斜杠去掉,写成path('polls/', include("polls.urls"))或者path('polls', include("polls.urls")),这样就不会出现双斜杠问题。
  • 如果你非要保留开头斜杠的写法(不建议,容易踩其他坑),可以自定义一个中间件,在路由匹配前把请求URL的开头斜杠去掉,同时统一处理path规则里的开头斜杠,但这种做法完全没必要,反而增加复杂度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 01:34:56