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

Django博客编辑帖子页面反向路由无参数匹配报错求助

报错原因排查

1. 直接触发报错的原因

你定义的edit_post路由要求必须传入post_id整数参数,但是在blogposts.html模板中调用{% url 'blogs:edit_post' %}时没有传递对应的帖子ID参数,导致Django无法反向解析出匹配的URL,所以抛出该错误。

2. 额外隐藏的错误

除了上述直接原因,你的代码还有两处隐藏问题,修改完第一个问题后也会触发报错,需要一并修正:

  • 视图函数edit_post中,构造上下文context = {'post':post, 'form':form}时,变量post未定义,你查询得到的对象名是current_entry
  • edit_post.html模板末尾的结束块写错了,把{%写成了{$,会触发模板语法错误

解决方法

1. 修正blogposts.html的编辑链接

把blogposts.html里的编辑链接代码修改为,传入当前循环的blogpost的id:

<a href="{% url 'blogs:edit_post' blogpost.id %}">Edit post</a>

2. 修正edit_post视图的上下文变量

把edit_post视图里的上下文构造代码修改为:

context = {'post': current_entry, 'form': form}

3. 修正edit_post.html的结束块语法

把edit_post.html末尾的{$ endblock content %}修改为正确的模板语法:

{% endblock content %}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:54:07