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

Django添加游戏编辑链接时post路径出现NoReverseMatch错误如何解决

报错原因

你使用的Django DetailView默认只会给模板传入名为object的模型实例上下文,你在game_detail.html的编辑链接里用了post.pk作为参数,但是模板上下文中不存在post这个变量,post.pk解析后是空值,反向解析edit_game路由时传入了空字符串参数,和路由要求的数字类型pk不匹配,就抛出了这个NoReverseMatch错误。

修复方法

两种方案任选其一即可:

  • 直接修改模板的链接参数,和你页面其他地方调用变量的写法保持一致,把编辑链接的代码改成:
<a href="{% url 'edit_game' object.pk %}">Edit Game</a>
  • 如果你希望模板里统一用post作为变量名,就在GameDetailView视图类中指定上下文名称:
class GameDetailView(DetailView):
    model = Game
    template_name = 'game_detail.html'
    context_object_name = 'post' # 新增这行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:15:03