ImageField | error

11 views
Skip to first unread message

Erick Brockes

unread,
May 30, 2016, 9:28:07 PM5/30/16
to django...@googlegroups.com
Folks,

I'm using django 1.9. I'm having the following problem. When I update the object of Pessoa, described below, I receive the following error message: "i/o operation on closed file". Does anyone have any solution. Thanks.

Erick


**** models.py ****

class Pessoa(models.Model):
        ...
imagem = models.ImageField(upload_to=upload_location, blank=True, null=True)
        ...


**** views.py

def image_update(request, pessoa_id):
instance = get_object_or_404(Pessoa, id=pessoa_id)
form = ImageForm(request.POST or None, request.FILES or None, instance=instance)
if(form.is_valid()):
if(instance.imagem != None):
instance.imagem.delete()
instance.imagem = request.FILES.get('imagem')
instance.last_update_at = date.today()
instance.save()
#return HttpResponseRedirect(reverse('pessoa:editar', kwargs={'pessoa_id': pessoa_id}))
context = {
"instance": instance,
"form": form
}
return render(request, "pessoa/pessoa_image_form.html", context)


**** forms.py

class ImageForm(forms.ModelForm):
class Meta:
model = Pessoa
fields = ['imagem']


**** html
<form id="formulario" action="" method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ form.non_field_errors }}
{{ form.field_errors }}
        <div class="fieldWrapper">
{{ form.imagem.errors }}
<label for="nome">Imagem:</label><br/>
{{ form.imagem }}
</div><br/>
<input type="submit" value="Salvar" class="button">
</form>
Reply all
Reply to author
Forward
0 new messages