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

Django提交编辑表单时NoReverseMatch错误求助

解决NoReverseMatch错误:编辑资料后重定向到个人资料页

错误原因

从错误信息可直接定位问题:show_profile_page路由规则要求传入<int:pk>参数,但你在get_success_url中调用reverse_lazy时未传递该参数,导致Django无法匹配到对应路由。

修复方案

修改EditProfile类中的get_success_url方法,传入当前编辑的Profile实例的pk值即可:

def get_success_url(self):
    # 获取当前编辑的Profile对象的主键
    profile_pk = self.get_object().pk
    # 传入pk参数生成正确的重定向路由
    return reverse_lazy('show_profile_page', kwargs={'pk': profile_pk})

补充说明

  • 若你的项目中User与Profile是一对一关联的关系,也可通过当前登录用户直接获取Profile的pk,写法如下:
    def get_success_url(self):
        return reverse_lazy('show_profile_page', kwargs={'pk': self.request.user.profile.pk})
    
  • 你的form_valid方法已正确绑定当前用户到Profile实例,test_func也完成了编辑权限验证,这两部分逻辑无需调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 09:17:37