Django无法识别URL pattern返回404错误 跟随Mosh教程操作后出现异常
问题排查方案
以下是按优先级排序的可能原因及修复方法:
- 确认访问的URL拼写正确
你当前配置的两个可访问路径分别为:- 产品首页:
http://127.0.0.1:8000/products/(对应views.index) - 新品页:
http://127.0.0.1:8000/products/new(对应views.new)
不要漏加/products前缀,也不要随意在路径末尾加斜杠(如果你需要支持末尾带斜杠的访问格式,可将products.urls.py里的路径配置改为path("new/", views.new))
- 产品首页:
- 确认
products应用已注册到项目配置
打开项目根目录下的pyshop/settings.py,找到INSTALLED_APPS列表,确保列表里已添加'products'项,未注册的应用Django无法识别其下的路由文件。 - 确认文件存放位置正确
products.urls.py必须放在products应用的根目录下,不要放到应用的子文件夹中;主路由pyshop.urls.py需放在项目根目录的pyshop文件夹下。 - 重启Django开发服务
修改路由、视图代码后需要重启python manage.py runserver启动的服务,新配置才会生效,未重启的情况下访问会返回404。 - 顺带修复视图代码的拼写错误
views.py里的new函数参数拼写错误,你写的是reqest,正确应为request,该问题虽不会导致404,但后续访问该路径时会抛出500错误,建议提前修正。
内容的提问来源于stack exchange,提问作者YellowBannanaRBX
相关产品推荐
相关产品推荐

