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

Django NoReverseMatch错误求助:无法访问编辑页面

Django NoReverseMatch 错误修复:无法访问编辑页面

核心问题

你的urls.py中定义的edit_post路径存在语法错误,导致URL模式不合法,反向解析时无法匹配传入的参数。

修复步骤

  1. 修正urls.py的路径定义
    原代码中post_id的路径转换器未正确闭合,且edit前缺少分隔符,导致URL模式无效:
# 错误代码
path('<int:board_id>/topics/<int:topic_id>/posts/<int:post_id/edit', 
views.PostUpdateView.as_view(), name="edit_post"),

修正后:

# 正确代码
path('<int:board_id>/topics/<int:topic_id>/posts/<int:post_id>/edit', 
views.PostUpdateView.as_view(), name="edit_post"),
  • 补充post_id路径转换器的闭合符号>
  • 在edit前添加/,保证URL结构规范
  1. 验证模板与视图配置
  • 模板中的URL反向解析调用参数正确,三个参数post.topic.board.pk、post.topic.pk、post.pk与URL模式的board_id、topic_id、post_id一一对应:
    {% url 'edit_post' post.topic.board.pk post.topic.pk post.pk %}
    
  • 视图中pk_url_kwarg = 'post_id'已正确指定主键对应的URL参数名,与修正后的URL配置一致,无需调整。

错误原因说明

从错误信息的URL模式可以看出,未闭合的<int:post_id导致Django无法正确识别参数,因此无法匹配你传入的(3, 20, 23)这三个参数,触发NoReverseMatch错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:46:06