I'm going to edit an ImageField using jquery ajax,so I've used jquery form plugin,this is the code:
<form id='form_upload' action="." method="POST" enctype="multipart/form-data">
    <input type='file' id='id_HeadImage' name='id_HeadImage' />
</form>
<script typr="text/javascript">    
var options = {
      dataType: 'xml',
      url: '{% url DrHub.views.editNews param1,param2 %}',
    }
    $('#form_upload').ajaxSubmit(options);
</script>
in <head>:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
<script src="http://malsup.github.com/jquery.form.js"></script> 
and in server side :
if ('id_HeadImage' in request.FILES) and (request.FILES['id_HeadImage']):
    gForm=GalleryForm(request.POST,request.FILES,instance=newsInstance.gallery_ptr)
    if gForm.is_valid():
       gForm.save()
as U can see I'm going to edit ImageField of a model named Gallery. How can I do this?
this is Gallery Model:
class Gallery(models.Model):
   HeadImage = models.ImageField(upload_to="gallery",blank=True,null=True)
While gForm.is_valid() returns True,but It won't be saved and Image of HeadImage Field won't be changed.
Note : I've checked this in firebug and I'm sure that data is sent and request.FILES has value.
what's wrong here?
EDIT : I've worked based on this article: http://www.laurentluce.com/posts/upload-to-django-with-progress-bar-using-ajax-and-jquery/
 
    