为何出现No Reverse Match错误?Django删除功能异常排查
问题根源
你虽然注释了delete_entry的视图和URL路径,但对应模板里还保留着对delete_entry这个URL名称的反向解析代码。当Django渲染health_hub_history页面时,会自动解析模板里的{% url 'delete_entry' ... %}标签,可此时urls.py里已经没有这个URL的配置,所以直接触发NoReverseMatch错误。
解决方法
- 找到
health_hub_history视图对应的模板文件(比如history.html),搜索所有包含{% url 'delete_entry'的代码段,把这些代码注释或者直接删除。
举个例子,模板里可能有这样的代码:
直接把这段代码注释掉就行。<button onclick="location.href='{% url 'delete_entry' entry.id %}'">删除记录</button> - 如果你的Django开启了模板缓存,手动清除缓存确保修改生效。
- 重启Django开发服务器,避免旧的缓存代码干扰。
额外排查项
- 检查是否有父模板被当前模板继承,父模板里会不会也有
delete_entry的URL引用。 - 确认urls.py里所有和
delete_entry相关的配置都已完全注释/删除,包括带命名空间的配置(如果用了命名空间的话)。
内容的提问来源于stack exchange,提问作者BenD2525
相关产品推荐
相关产品推荐

