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

Django用户CV文件上传提交成功但未保存到media目录问题排查

问题解决

核心错误原因

你的视图层代码中实例化DocumentForm时,instance参数传值类型不匹配:
DocumentForm绑定的是ResumeDocument模型,你却传入了request.user(属于User模型实例),表单无法将文件字段写入到类型不匹配的实例中,因此虽然表单校验通过提示成功,但实际没有完成文件保存逻辑。
因为ResumeDocument和User是一对一关联关系,你需要先获取或创建当前用户对应的ResumeDocument实例,再传入表单的instance参数。

修正后的代码

views.py修改部分

def pdf_resume(request):
    # 先获取当前用户对应的简历文档实例,不存在则自动创建
    resume_instance, _ = ResumeDocument.objects.get_or_create(user=request.user)
    if request.method == 'POST':
        # 传入正确的ResumeDocument实例作为instance参数
        form = DocumentForm(request.POST, request.FILES, instance=resume_instance)
        if form.is_valid():
            form.save()
            messages.success(request, f'Done!!!!')
            return redirect('pdf_resume')
    else:
        form = DocumentForm(instance=resume_instance)
    context = {'form':form}
    return render(request, 'reg/pdf_resume.html', context)

其他验证说明

你现有的模型、表单、前端代码都没有问题,且后台上传正常说明MEDIA_ROOT等媒体存储配置正确,修改上述视图代码即可解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:15:06