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

Django项目使用DeleteView类视图时出现TemplateDoesNotExist错误求助

解决Django DeleteView的TemplateDoesNotExist错误

问题根源

你的ProductDeleteView中指定的模板名称缺少.html后缀,导致Django无法定位到对应模板文件;同时需要确认模板文件路径是否匹配,以及完善取消按钮的跳转逻辑。

具体修复步骤

1. 修正视图中的模板名称

在views.py里,给template_name补充.html后缀:

class ProductDeleteView(DeleteView):
    model = Product
    template_name = "product/product_delete.html"  # 添加.html后缀
    success_url = reverse_lazy('products-page')
    context_object_name = 'product'

2. 确认模板文件路径

确保项目模板结构与配置一致,路径应为:

你的项目目录/
├── templates/
│   ├── product/
│   │   ├── product_delete.html  # 你的删除确认模板文件
│   │   └── ...  # 其他产品相关模板

如果路径不匹配,要么调整template_name的值,要么将模板文件移动到对应路径下。

3. 完善取消按钮的跳转逻辑

当前取消按钮未设置跳转,点击会默认提交表单,修改删除确认页面的取消按钮代码,让它跳回产品列表页:

<form method="POST" class="row g-3">
    <div class="col-auto">
      <h6>Are you sure you want to delete {{product.name}}?:</h6>
      {% csrf_token %}
      <button type="submit" class="btn btn-danger mb-3">Delete</button>
      <a href="{% url 'products-page' %}" class="btn btn-primary mb-3">Cancel</a>
    </div>
</form>

完成以上修改后,重新运行项目,点击删除链接即可正常加载确认模板,删除操作也能正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 05:15:42