2015-06-30 33 views
0

我在我的DJango模板中有下面的代碼,它有div和輸入類型文件,樣式相同,這樣當你點擊圖片時,上傳窗口就會顯示出來。如何在Django中使用HTML輸入類型文件作爲FileField類型?

<div class="prof" style="background:url(https://c1.staticflickr.com/3/2669/5830411257_b21bf9e931_b.jpg);background-size:cover"> 
<input type="file" id="uploadpic" class="uploadpic" /> 
</div> 

演示的這樣:

http://jsfiddle.net/sathish_opr/s54uxkx9/

我的要求是我可以用這個模板的FileField在Django模型的輸入類型的文件,使upload_to是此輸入訪問文件的html標籤。

我正在尋找一些類似的工作模型,但找不到。 這怎麼可能?有什麼建議麼 ?

在我Models.py

class td_profpic(models.Model): 
id = models.CharField(max_length=300,blank=True) 
propicpath = models.FileField(upload_to=get_upload_file_name) 
class Meta: 
    managed = False 
    db_table = "td_profpic" 

def get_upload_file_name(instance,filename): 
return "%s_%s" % (str(time()).replace('.','_'),filename) 

我如何能與我同型號場模板的輸入類型的文件標籤 - 在這種情況下(的FileField propicpath)?

回答

0

你可以爲此使用Django ModelForm。在你的意見

from django.forms import ModelForm 
# import your model from your application 

Class td_profpicForm(forms.Form): 
model= td_profpic 

是進口後這種形式:

創建一個表單模型「td_profpic」與
from forms import td_profpicForm
,並通過創建一個視圖使它對模板,填寫此表作爲上下文。
在Django模板中,將此表單渲染爲{{form.as_p}}或{{form.as_table}},它將自動爲您的字段創建一個表單。
然後您不需要爲自己創建自定義字段。

相關問題