소프트웨어 개발/Python

업로드 처리

늘근이 2015. 12. 29. 16:18

def upload(request):
   
    # GET일 경우 그냥 일반 페이지를 띄워준다.
    if request.method == "GET":
        edit_form = ImageEditForm()       
        return render ( request, 'index.html', {'form': edit_form, } )

    # POST일 경우는 실제로 ASYNC방식을 통해서 해야함.
    elif request.method == "POST":

        print (request.FILES.getlist('image_file'))
        print "POST"
        print (request.POST)
        print "FILES"       
        print (request.FILES)
       
        for f in request.FILES.getlist('image_file'):        
           
            print(f)
            edit_form = ImageEditForm(request.POST, request.FILES)
           
            print(edit_form.is_valid())
           
            #그림이 맞는 형식이면 저장한다.
            if edit_form.is_valid():
#                new_photo = edit_form.save()
#                return redirect(new_photo.get_absolute_url())
                new = edit_form.save()
               
                #저장 후에 ID를 찾아서
                image_object = Image.objects.get(pk=new.id)
                image_url = image_object.image_file.url
       
        #기존의 인덱스에 넘겨준다.               
        template = loader.get_template('index.html')
        context = {
        'result' : image_url
        }
        return HttpResponse(template.render(context, request))