2013-05-22 11 views
0

我正在嘗試做一個純粹的骨頭文件上傳,但在驗證模型表單時似乎存在問題。modelForm在文件上傳時給出驗證錯誤

這裏是我的模型:

class quiz(models.Model): 
    user = models.ForeignKey(User) 
    title = models.CharField(max_length=200) 
    questions_file = models.FileField(upload_to=get_path) 
    end_date = models.DateField() 
    time = models.IntegerField() 


    def __unicode__(self): 
     return self.name 

我forms.py

class quizForm(ModelForm): 
class Meta: 
    model = quiz 
    fields = ['title','questions_file','end_date','time'] 

相關搜索:

def upload(request): 
    if request.user.is_authenticated():  
     if request.method == 'POST': 
       form = quizForm(request.POST,request.FILES) 
       if form.is_valid(): 
        quiz = form.save(commit=False) 
        quiz.user = request.user 
        quiz.save() 
       else: 
        return HttpResponse(form.errors) 
     else: 
      form = quizForm() 
      return render_to_response('upload.html',{'form':form},context_instance=RequestContext(request)) 
    else: 
     return HttpResponse('Not logged in') 

模板:

<form enctype="multi-part/form-data" action='/test-upload/' method='POST'> 
{% csrf_token %} 
{{form.as_p}} 
<input type='submit' name='submit'> 
</form> 

通過表單提交文件。我收到了http_response_that_file_file,即文件未被正確驗證。

在此先感謝。也請忽略縮進錯誤,我是SO格式的noob。表單的編碼類型中

+1

什麼是確切的錯誤?任何追溯? –

+0

這樣就沒有錯誤。只是form.is_valid()失敗了。 – Shouvik

+0

如果它執行失敗'return HttpResponse(form.errors)',它說什麼? –

回答

0

錯字:

<form enctype="multipart/form-data" action='/test-upload/' method='POST'> 
    {% csrf_token %} 
    {{form.as_p}} 
    <input type='submit' name='submit'> 
</form>