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

Django按ID请求模型对象返回404错误 按教程编写代码仍无法解决

问题排查与修复方案

你代码的问题集中在路由配置部分:

  • 首先是应用内urls.py的item路由末尾缺少斜杠
    你当前写的路由规则是path('item/<int:item_id>', views.item_by_id, name='item_by_id'),仅匹配无末尾斜杠的路径(如/item/1)。而你测试访问的是带末尾斜杠的/item/1/,Django默认开启APPEND_SLASH配置,仅会自动将无斜杠的路径重定向到有斜杠的路径,反过来无法匹配,因此返回404错误。
    修复方式:给路由规则加上末尾斜杠,修改为:
    path('item/<int:item_id>/', views.item_by_id, name='item_by_id'),
    
  • 其次是路由前缀匹配问题
    你在项目层级urls.py里将myapp的路由挂载在了根路径''下,因此实际可访问的路径是http://localhost:8000/item/1/,和你举例的带/app/前缀的http://localhost:8000/app/item/1/不匹配。
    如果你需要保留/app/前缀,将项目层级urls.py的对应行修改为:
    path('app/', include('myapp.urls')),
    

额外检查项

完成上述修改后如果还有问题,请确认两点:

  1. 你已经执行了python manage.py makemigrations和python manage.py migrate命令,将Item模型成功同步到数据库
  2. 你已经在Django admin后台创建了至少一个Item对象,否则访问合法路径也会抛出Item不存在的错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 07:54:00