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

如何解决Django中'resume-detail'无参数反向匹配失败错误?

解决Django中"NoReverseMatch: Reverse for 'resume-detail' with no arguments not found"错误

问题场景

删除Experience数据后,页面重定向时触发以下错误:

Reverse for 'resume-detail' with no arguments not found. 1 pattern(s) tried: ['userapp/view/(?P[^/]+)/\Z']

错误原因

从URL配置可见,resume-detail路由要求必须传入slug参数:

path('userapp/view/<str:slug>/', user_views.resume_detail, name='resume-detail'),

但删除视图中调用redirect('resume-detail')时,未传递这个必填参数,导致Django无法反向解析出正确的URL路径。

另外,Experience模型通过外键关联了Resume,可以从待删除的Experience实例中直接获取对应的Resume对象,进而拿到所需的slug值。

解决方法

修改delete_view_experience视图,在重定向时传入对应Resume的slug参数:

修改后的views.py代码:

def delete_view_experience(request, experience_id):
    experience_instance = get_object_or_404(Experience, id=experience_id)
  
    if experience_instance:
        # 获取关联的简历对象
        resume = experience_instance.resume
        experience_instance.delete()
        messages.success(request,"信息删除成功")
        # 重定向时传入slug参数
        return redirect('resume-detail', slug=resume.slug)
    
    # 异常情况:未找到对应Experience实例时的 fallback 重定向
    return redirect('your-default-page')

注意事项

  • 确保Resume模型中存在slug字段,且已正确生成有效slug值
  • 因模型中resume外键设置了null=True,需额外处理resume为None的情况,避免抛出AttributeError

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 23:30:55