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

Django删除待办任务跳转报404但任务已删除,如何解决?

问题原因及修复方案

核心404问题修复

你遇到的删除成功后报404是因为删除后的跳转路径配置错误:你的项目路由里并没有配置/index.html/对应的路径,你定义的首页路由对应的是根路径/,所以修改views.py中DeleteTodo类的success_url属性即可:

# 方式1:直接填写正确的首页路径
success_url = '/'
# 方式2:更规范的命名路由写法,后续修改路由不需要再改视图代码,更推荐
success_url = reverse_lazy('todoxd_app:index')

两种方式任选其一即可。

其他代码问题修复

1. delete_todo.html模板缺失表单结构

你当前的删除确认模板没有包裹表单标签,也没有提交按钮,后续会出现无法正常提交删除请求的问题,修改模板代码如下:

{% extends 'todoxd_app/base.html' %}

{% block content %}
<form method="post">
    {% csrf_token %}
    <p>Are you sure you want to delete this task?</p>
    <button type="submit">DELETE TASK</button>
</form>
{% endblock content %}

2. new_todo视图跳转逻辑错误

你的new_todo视图中,保存成功后的跳转代码return redirect('todoxd_app/new_todo')写法错误,如果使用命名路由跳转,应该用冒号分隔应用名和路由名,修改为:

return redirect('todoxd_app:new_todo')

3. 代码规范优化建议

  • todo视图中的查询变量名objekt语义不清晰,建议修改为tasks,同时同步修改模板中对应的变量名,方便后续维护。
  • 所有路由跳转尽量使用命名路由的写法,不要硬编码路径,避免后续修改路由导致路径失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:48:00