在用户可以看到上传的文件之前,Django中的文件上传是否有延迟?

时间:2014-06-29 23:31:39

标签: python django

我有一个典型的models.ModelForm,只有一个字段:FileField。但是,当用户使用表单上载文件并重新加载页面时,不会列出该文件。用户必须手动重新加载页面才能显示为“当前文件”。

这是我的观看代码:

submission = Submission.objects.filter(user=request.user, problem=problem).first()
    if request.POST:
        submission_form = SubmissionForm(request.POST, request.FILES, instance=submission)
        if submission_form.is_valid():
            submission_form.save()
    else:
        submission_form = SubmissionForm(instance=submission)
return render_to_response('view-problem.html',
                          dictionary={'problem': problem, 'submission_form': submission_form},
                          context_instance=RequestContext(request))

我的猜测是,在加载视图时文件仍在处理中,因此用户不会立即看到它。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您必须在保存旧表单后创建新表单。ModelForm.save()返回模型实例,您可以使用此实例初始化新的ModelForm。

代码:

if request.POST:
    submission_form = SubmissionForm(request.POST, request.FILES, instance=submission)
    if submission_form.is_valid():
        submission = submission_form.save()

submission_form = SubmissionForm(instance=submission)