2012-08-16 53 views
10

我一直在抓我的頭FileField。 FileField是否需要單獨的過程?Django FileField上傳不適用於我

雖然我的網址得到保存..但我的文件沒有上傳...我做錯了什麼?

這是我的models.py ...

class OpLink(models.Model): 
    user = models.ForeignKey(User) 
    file = models.FileField(blank=True, null=True, upload_to="uploads") 
    url = models.URLField(blank=True, null=True) 

我forms.py

class OpLinkForm(ModelForm): 
    class Meta: 
     model = OpLink 
     exclude = ('user') 

我views.py

oplinkform = oplinkform(request.POST) 
       oplink = oplinkform.save(commit=False) 
       oplink.user = user 
       oplink.save() 

和我的HTML來處理它。

<div class="span5"> 
          {{ oplinkform.url|add_class:"span4"|attr:"Placeholder:URL for the item" }} 
          <br><h4>OR</h4><br> 
          {{ oplinkform.file|add_class:"input-file" }} 
          <br /> 
          <input class='btn btn-primary btn-large' type="submit" value='Post' name='action'> 
</div> 
+1

很好的問題時 - 有同樣的問題,完全忘了我剛剛在學習FileField時閱讀了這篇文章。感謝您提問。 – nicorellius 2014-06-19 18:47:15

回答

27

您需要包括的文件創建窗體

oplinkform = oplinkform(request.POST, request.FILES) 

另外,還要確保你的表格有正確的enctype

<form enctype="multipart/form-data"></form> 
+2

這麼簡單;-)謝謝! +1 – nicorellius 2014-06-19 18:46:30

+0

它很簡單,但錯過了。但Mikael你節省了我的時間,謝謝 – Mohini 2015-08-14 12:07:29