使用Django上传文件

使用Django上传文件,django,django-models,request,Django,Django Models,Request,我是django的新手,上传文件时遇到问题,请帮助我!!:X 这是我的看法 def上传IMG(请求): 尝试: user = request.session['user'] if request.method == 'POST': form = User_image_form(request.POST, request.FILES) #if form.is_valid(): usr_img = User_image(img

我是django的新手,上传文件时遇到问题,请帮助我!!:X

这是我的看法

def上传IMG(请求):

尝试:

   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!!!")
除:

   pass
这是我的表格

类用户\图像\表单(forms.form):

这是我的模特

类用户图片(models.Model):

我在view.py的哪一行有问题

usr\u img=User\u image(imgfile=request.FILES['imgfile'])

而且它永远不会到达终点

返回HttpResponse(“是”)

错误:

异常值:视图User.views.uploadimg未返回HttpResponse对象


Plz Help

如果出现异常,则不会返回
HttpResponse
对象。因此出现了错误

使用
form.is\u valid()
查看表单是否有效。 大概是这样的:

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!!!")

我把HttpResponse(“yes”)放在了错误行之前,它还可以!与其将整个块包含在try..except中,不如将其尽可能本地化。示例将
try..except
放在可能发生错误的确切位置。usr\u img=User\u image(imgfile=request.FILES['imgfile'])中是否存在问题?刚刚编辑了答案。看起来不错,但你可能需要检查一下validity@karthikr如果表单无效,它仍然不会返回
HttpResponse
您可能希望减少内部
HttpResponse
   imgfile = models.ImageField(upload_to = 'User-Image')
   #user = models.ForeignKey(User_account)
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!!!")