问题探讨:为什么输入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源码: