Django配置路由后,为什么输入http://127.0.0.1:8000/ 网址后报错了?

问题探讨:为什么输入http://127.0.0.1:8000/ 网址后报错了?

翻译一下:

屏蔽一下新加的路由

发现界面正常了

现在翻译一下:

分析: 需要满足两个条件才会显示上述界面:

  • setting.py 文件中 DEBUG=True
  • setting.py 文件中urlpatterns 为初始值

因此: 虽然项目默认 DEBUG=True,但由于在 urlpatterns 中已经配置了其他路由(path("hello/", views.say_hello)),并不满足上述两个条件。同时,未在 urlpatterns 中配置默认路由(例如:path('', views.home)),当用户访问根路径 / 时,Django 将无法找到匹配的视图,因此会出现报错。
⭐注意 写成:path('/',views.home)也不对!!

Django 的 URL 路径不需要也不接受斜杠 / 作为路径的开头。Django 会自动处理 URL 路径的斜杠问题,因此在 path() 中的第一个参数应当直接写路径片段,而不包含开头的斜杠。

深究:

如果想要深入研究为什么会这么显示,请参考django源码:

相关推荐
码事漫谈6 小时前
勿删
后端
IT_陈寒10 小时前
用了Proxy才发现以前的JavaScript白写了
前端·人工智能·后端
唐青枫10 小时前
别把 ArrayList 当成会自动管理内存的 List:Zig 动态数组从入门到实战
后端
鸿蒙开发10 小时前
我为 HarmonyOS 做了一个统一大模型 SDK:@hmkit/ai 正式开源
后端
猪是念来过倒10 小时前
Semaphore 与 RateLimiter:并发控制双雄详解
后端
掘金者阿豪11 小时前
异构数据同步最怕什么?不是同步慢,而是数据对不上
后端
程序员cxuan12 小时前
Claude 官方的学习教程,太强了。
人工智能·后端·程序员
老孙讲技术12 小时前
把工地遮挡和掉线接进项目部:setMessageCallback 订 alarm 与 deviceStatus
后端·物联网·音视频开发
老孙讲技术12 小时前
关店后有人进门,监控值班群却没响:用 setMessageCallback 订 human,再用 aiHuman 打开人形
后端·物联网·音视频开发
LEE12 小时前
原来 Claude Code 最厉害的工具,一行代码都不写
前端·后端