Django使用filter查询数据遇webdart未注册命名空间错误求助
问题根因
该报错触发原因是你在模板中使用了webdart作为命名空间做URL反向解析,但Django路由配置中未注册该命名空间,导致解析失败。
解决步骤
- 先确认
webdart应用已添加到项目settings.py的INSTALLED_APPS列表中 - 配置应用命名空间:
- 首先打开
webdart应用下的urls.py,在文件开头声明应用名:
from django.urls import path from . import views # 新增该行,声明应用名和后续命名空间对应 app_name = 'webdart' urlpatterns = [ # 保留你原有所有路由配置,确保FRReports路由存在name属性,示例: path('fr-reports/', views.fr_reports, name='FRReports'), ]- 打开项目根目录的主
urls.py,确认引入webdart路由时指定了对应命名空间:
from django.urls import path, include urlpatterns = [ # 保留你原有其他路由,引入webdart路由时按如下写法配置 path('webdart/', include('webdart.urls', namespace='webdart')), ] - 首先打开
- 检查
base.html第16行的{% url %}标签写法,确认格式符合规范,示例:
正确写法:{% url 'webdart:FRReports' %}
注意命名空间、路由名的拼写和大小写要和urls.py中定义的完全一致 - 所有配置修改完成后,重启Django服务即可生效。
内容的提问来源于stack exchange,提问作者Daniel Johnson
相关产品推荐
相关产品推荐

