I am trying to render a form which will upload image. But I am not getting it.
Here models.py:
profile_picture = models.ImageField(_('profile picture'),upload_to="profile_pictures" , blank=True, null=True,default="static/images/person.jpg")
in forms.py:
class UploadProfilePictureForm(forms.Form):
profile_picture=forms.ImageField(label='Select an Image')
in views.py:
def add_profile_picture(request):
if request.method=='POST':
form=UploadProfilePictureForm(request.POST,request.FILES)
p=FearUser(profile_picture=request.FILES['profile_picture'])
p.save()
return HttpResponseRedirect(reverse('profile:my_profile'))
else:
form=UploadProfilePictureForm
return render_to_response('partials/_add_profile_picture.html',{'form':form},context_instance=RequestContext(request))
in urls.py:
url(r'^profile/update-pp/$','profiles.views.add_profile_picture',name='pp_update')
finally in _add_profile_picture.html:
<form action="{% url 'profile:pp_update' %}" role="form" method="post" enctype="multipart/form-data">
{% csrf_token %}
<p>{{ form.profile_picture.label_suffix }}</p>
<p>
{{ form.profile_picture.error_messages }}
{{ form.profile_picture }}
</p>
<div class="text-right">
<button type="button" class="btn btn-default custom_btn cancel_btn"
style="padding:5px 20px" data-dismiss="modal">Cancel
</button>
<button type="submit" class="btn btn-default custom_btn submit_btn"
style="padding:5px 20px">Submit
</button>
</div>
</form>
Can anyone explain me what I have done wrong?