Sina
Sina

Reputation: 269

File Uploading Using Django

i'm new in django and i have a problem with Uploading File Please Help me!! :X

here is my view.py

def uploadimg(request):

try:

   user = request.session['user']        

   if request.method == 'POST':

       form = User_image_form(request.POST, request.FILES)
       #if form.is_valid():
       usr_img = User_image(imgfile = request.FILES['imgfile'])
       return HttpResponse("yes")
       #usr_img.user = user
       usr_img.save()
       return HttpResponse("yees the first upload is right !! :X")
   else:
       return HttpResponse("Noooooo!!!")

except:

   pass

this is my form.py

class User_image_form(forms.Form):

   imgfile = forms.FileField()

and this is my models.py

class User_image(models.Model):

   imgfile = models.ImageField(upload_to = 'User-Image')
   #user = models.ForeignKey(User_account)

and i have problem in view.py at line which

usr_img = User_image(imgfile = request.FILES['imgfile'])

and it's never get to the

return HttpResponse("Yes")

error:

Exception Value: The view User.views.uploadimg didn't return an HttpResponse object.

Plz Help

Upvotes: 0

Views: 122

Answers (1)

karthikr
karthikr

Reputation: 99620

If there is an exception, you are not returning an HttpResponse object. Hence the error.

use form.is_valid() to see if the form is valid. Something like this:

if request.method == 'POST':
    form = User_image_form(request.POST, request.FILES)
    if form.is_valid():
        usr_img = User_image(imgfile = form.cleaned_data['imgfile'])
        usr_img.user = user
        usr_img.save()
        return HttpResponse("yees the first upload is right !! :X")
    else:
        print form.errors #for debugging purposes only. 

    return HttpResponse("Noooooo!!!")

Upvotes: 1

Related Questions