开始是路径结尾没斜杠
- path('schoolhot',xxx_funciton)
- 此时只能访问 http://127.0.0.1:8000/schoolhot
改成路径结尾加上斜杠
- path('schoolhot/',xxx_funciton)
- 此时访问 http://127.0.0.1:8000/schoolhot 也会重定向到 http://127.0.0.1:8000/schoolhot/
- 访问 http://127.0.0.1:8000/schoolhot/正常
再改成上面的第一种 path
- path('schoolhot',xxx_funciton)
- 此时访问 http://127.0.0.1:8000/schoolhot 也会重定向到 http://127.0.0.1:8000/schoolhot/
- 访问 http://127.0.0.1:8000/schoolhot/路径不匹配
- 看了 f12,确实是浏览器重定向,不是 django 做的
- 试了解决方法好像是只能是清除浏览器缓存,此时就可以访问 http://127.0.0.1:8000/schoolhot
- 感觉这。。。。太坑了,如果你从来没访问成功过带斜杠的路径就没事,一旦访问成功过,就会被记录下来,以后再访问不带斜杠的会直接重定向到有斜杠,这。。。。。。
为了保证url的唯一性,加斜杠和不加斜杠本来就是两个url,只是浏览器默认会在不加斜杠的路由做一次重定向,因此我们在设计url的时候最好给末尾都加/,以保证不加斜杠的时候也能正确映射到制定的路由,否则不加斜杠是无法正确映射到试图函数的。