2012-08-24 40 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属性值的关闭报价