Django报错NoReverseMatch: 'services'未注册命名空间求助
错误原因
你在Category模型的get_absolute_url方法中使用了services:作为URL命名空间前缀,但没有在Django中注册services这个命名空间,所以反向解析URL失败。你删除HTML中分类遍历部分后不会触发get_absolute_url调用,因此不会报错。
解决方案
按照以下步骤修改即可:
- 注册services应用的URL命名空间
打开services_app/urls.py,在urlpatterns上方添加命名空间声明:
from django.urls import path from services_app import views # 新增这行,注册命名空间 app_name = 'services' urlpatterns = [ path('', views.service_list, name='Services'), # 建议给路径末尾加斜杠,匹配Django默认的路由规则,避免重定向问题 path('<slug:category_slug>/', views.service_list, name='services_by_category'), ]
修改完成后重启服务,点击分类就可以正常跳转展示对应分类下的图片了。
内容的提问来源于stack exchange,提问作者Shifter
相关产品推荐
相关产品推荐

