2014-06-29 35 views
1

我有一個典型的models.ModelForm有一個字段:FileField。但是,當用戶使用表單上載文件並重新加載頁面時,該文件未被列出。用戶必須手動重新加載頁面才能顯示爲「當前文件」。在用戶可以看到上傳的文件之前,Django中的文件上傳是否有延遲?

這是我的看法代碼:

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)) 

我的猜測是,雖然風景被仍在處理文件,因此用戶不會立即看到它。我該如何解決?

回答

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) 
相關問題