{% if form.is_multipart %} <form enctype="multipart/form-data" method="post" action="/foo/"> {% else %} <form method="post" action="/foo/"> {% endif %} {{ form }} </form>
http://docs.djangoproject.com/en/dev/ref/forms/api/#binding-uploaded-files On Jun 15, 12:59 am, Oleg Oltar <oltarase...@gmail.com> wrote: > I made a mistake in view.py. > Corrected version is > def handleUploadedFile(file): > destination = open('usermedia/new.jpg', 'wb+') > for chunk in file.chunks(): > destination.write(chunk) > destination.close() > return destination > > def user_profile(request, profile_name): > owner = get_object_or_404(User, username = profile_name) > ownersProfile =get_object_or_404(UserProfile, user = owner) > form = ProfileEdit(request.POST) > if request.method == 'POST': > > if form.is_valid(): > ownersProfile.about = form.cleaned_data['about'] > ownersProfile.avatar = handleUploadedFile(request.FILES['file']) > ownersProfile.save() > return HttpResponseRedirect("/") > else: > form = ProfileEdit() > > Also changed a little bit template: > <form method="post" action="./{{owner.username}}"> > {{ form.as_p }} > <input type="submit" value="Upload" /> > </form> > > But I am getting: > MultiValueDictKeyError at /account/profile/test > > "Key 'file' not found in <MultiValueDict: {}>" > > :( > > > > On Mon, Jun 15, 2009 at 6:54 AM, Oleg Oltar<oltarase...@gmail.com> wrote: > > Hi! > > > I know that the problem probably was discussed many times already, but > > I really can't make it working. > > > I read the documentation and prepared the following code: > > > model: > > > class UserProfile(models.Model): > > """ > > User profile model, cintains a Foreign Key, which links it to the > > user profile. > > """ > > about = models.TextField(blank=True) > > user = models.ForeignKey(User, unique=True) > > ranking = models.IntegerField(default = 1) > > avatar = models.ImageField(upload_to="usermedia", default = > > 'images/js.jpg') > > > def __unicode__(self): > > return u"%s profile" %self.user > > > form: > > > class ProfileEdit(forms.Form): > > about = forms.CharField(label = 'About', max_length = 1000, > > required=False) > > avtar = forms.ImageField() > > > view: > > def handleUploadedFile(file): > > destination = open('usermedia/new.jpg', 'wb+') > > for chunk in file.chunks(): > > destination.write(chunk) > > destination.close() > > return True > > > def user_profile(request, profile_name): > > owner = get_object_or_404(User, username = profile_name) > > ownersProfile =get_object_or_404(UserProfile, user = owner) > > form = ProfileEdit(request.POST) > > if request.method == 'POST': > > form = ProfileEdit(request.POST, request.FILES) > > if form.is_valid(): > > handleUploadedFile(request.FILES['file']) > > else: > > form = ProfileEdit() > > > data = RequestContext(request, > > { > > 'owner' : owner, > > 'ownersProfile' : ownersProfile, > > 'form' : form > > } > > ) > > return render_to_response('registration/profile.html', data) > > > And part of template: > > > <form method="post" action="."> > > {{ form.as_p }} > > <input type="submit" value="Upload" /> > > </form> > > > After trying this code in browser I am getting a text field with > > browse button, so when I chose file to upload, and finally click > > upload I am getting 404 Error. > > Not sure what I might doing wrong. > > Please help --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---