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

Django数据库存在对应条目却返回404错误问题求助

问题根因

该404并非URL匹配逻辑错误,是正则捕获分组规则缺失导致传递给视图的pk参数为空,DetailView拿着空值查询数据库匹配不到对应记录,才抛出404错误。
你companies/urls.py中的URL规则url(r'^company/(?P<pk>)'里,<pk>后未填写匹配规则,导致捕获到的pk参数是空字符串,并未把URL里的F值传递到视图中。

修复方案

1. 修正companies/urls.py的正则规则

如果你的主键是包含字母、数字的字符串,修改成如下配置即可:

from . import views
from django.conf.urls import url

urlpatterns = [
    # 增加\w+匹配字母/数字/下划线,末尾加$匹配URL结束标识
    url(r'^company/(?P<pk>\w+)/$', views.CompanyDetailView.as_view(), name='company-detail')
]

如果你使用Django 2.0+版本,也可以换成更简洁的path写法:

from . import views
from django.urls import path

urlpatterns = [
    path('company/<str:pk>/', views.CompanyDetailView.as_view(), name='company-detail')
]

2. 补充检查

你粘贴的Main/urls.py首行import代码少了字符f,如果实际代码也是rom django.contrib import admin,需要修正为from django.contrib import admin。

修改完成后重启服务,再次访问对应地址即可正常加载数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:45:07