2012-08-24 72 views
2

您好我救了用我的Django項目用款 幫助的圖像作爲在Django檢索圖像,更新/ Django中替換圖片

Image = models.ImageField(upload_to="images/profileimages/") 
    name = models.CharFiled(max_length=20) 
    #rest of the fileds. 

一次,我已經保存了此信息,我想改變/更新它。對於這一點,我已經使用了一個視圖

def Information_change(request): 
     instance = get_object_or_404(information,pk=request.user.id) 
     if request.method == 'POST': 
       iform = informationForm(instance=instance, data=request.POST,   files=request.FILES) 
       if iform.is_valid(): 
        instance = iform.save() 
        return HttpResponseRedirect('/') 
    else: 
     iform = informationForm(instance=instance) 
     return render_to_response('registration/information_change.html',{'iform':iform}, RequestContext(request)) 

在我的模板是讓所有的信息,如姓名領域realated領域包含了我的名字,所有的charfields都顯示信息,但圖像的Fileds沒有顯示圖像/路徑或任何其他的東西。其他的字段可以更改,我可以編輯我的名字檔案,但無法使用此代碼替換/更改圖像。我怎樣才能解決這個問題。任何幫助將不勝感激。 我的.html文件包含

{% block content %} 
{% if iform.errors %} 
    <p style="color: red;"> 
    Please correct the error{{ iform.errors|pluralize }} below. 
    </p> 
{% endif %} 
<form method="post" action=".", enctype="multipart/form-data> 
    {{ iform.as_p }}  
    <input type="submit" value="Submit" /> 
</form> 

{%端塊%}

+1

發佈您的表單以及 –

+0

這些是逗號','在您的表單標籤後的行動,不知道這是必需的。另外,你可以驗證你是否在'request.FILES'中獲得文件。 – Rohan

+0

@AamirAdnan 我forms.py包含 類informationForm(forms.ModelForm): \t類元: \t \t模式=信息 \t \t欄=( '名字', '姓氏', '稱謂',「部門','位置','圖像') – MajorGeek

回答

0

首先做什麼@Rohan建議你。在您看來,您有一個錯誤,如果您的表單無效時會發生什麼情況?然後你的view將不會返回HTTP response,因爲你沒有處理。只是刪除的if request.Method == 'POST'else和縮進背下面兩行:

iform = informationForm(instance=instance) 
return render_to_response('registration/information_change.html',{'iform':iform}, RequestContext(request)) 

這將解決我提到的bug。可能會顯示一些與圖像場相關的形式錯誤。

+0

也指定url中的action屬性以及action =「{%url url_name%}」其中'url_name'是此視圖的url名稱。 –

0

我看到你form標籤2個問題:後行動

  • 逗號 ''屬性
  • 沒有enctype屬性值的關閉報價