示例#1
0
文件: views.py 项目: panizza/aMUSE
def add_new_action(request, experience_id):
    """
    Handle the file upload for a new action
    :param request:
    :param exp_id: The experience id linked to the action
    :return:
    """
    user = get_object_or_404(User, id=request.user.id)
    exp = get_object_or_404(Experience, id=experience_id)
    action = Action(experience=exp, date_performed=datetime.now().strftime("%Y-%m-%d %H:%M"))
    if request.method == "POST":
        image_form = UploadImageForm(request.POST, request.FILES)
        comment_form = UploadCommentForm(request.POST)
        if not image_form.is_valid() and not comment_form.is_valid():
            return render(request, 'webinator/error.html', {'error_id': "2"})
        if image_form.is_valid():
            image = image_form.save()
            action.photo = image
        if comment_form.is_valid():
            comment = comment_form.save()
            action.comment = comment

        action.save()
        #return HttpResponseRedirect(reverse('action_list', args=[experience_id]))
        return HttpResponseRedirect(reverse('index'))

    else:
        return render(request, 'webinator/new_action.html', {
            'image_form': UploadImageForm(),
            'comment_form': UploadCommentForm()
        }
        )
示例#2
0
def upload_view(request):
    message = None
    if request.method == "POST":
        try:
            form = UploadImageForm(request.POST, request.FILES)
            if form.is_valid():
                cd = form.cleaned_data
                uploadImage = UploadImage(image=cd['image'],
                                          category=cd['category'],
                                          title=cd['title'],
                                          user=request.user)

                uploadImage.save()
                return HttpResponseRedirect("/")
            else:
                message = str(form.errors)
        except:
            if os.path.exists(
                    os.path.join(settings.MEDIA_ROOT, cd['image'].path)):
                os.remove(os.path.join(settings.MEDIA_ROOT, cd['image'].path))
            message = str(sys.exc_info()[1])

    form = UploadImageForm()
    return render_to_response(
        register_path,
        RequestContext(request, {
            "message": message,
            "form": form
        }))
示例#3
0
def images(request):
    """
    view untuk menampilkan daftar images
    yang diupload user & mekanisme upload
    """
    if request.POST:
        form = UploadImageForm(request.POST, request.FILES,
            initial={'user': request.user})
        if form.is_valid():
            if not request.user.has_perm('accounts.add_imageitem'):
                messages.error(request,
                _("Unvalidated user can not upload any images"))
                return HttpResponseRedirect(reverse('images'))
            title = form.cleaned_data['title']
            image = form.cleaned_data['image']
            ImageItem.objects.create(user=request.user, title=title,
                image=image)
            messages.info(request, _('Image Uploaded'))
            return HttpResponseRedirect(reverse('images'))
    else:
        form = UploadImageForm(initial={'user': request.user})
    images_list = ImageItem.objects.filter(user=request.user)
    return render_to_response('accounts/images.html',
            {'form': form,
                'images': images_list},
            context_instance=RequestContext(request))
示例#4
0
def process_image(request):
    if request.method == 'POST':
        form = UploadImageForm(request.POST, request.FILES)
        if form.is_valid():
            img = form.cleaned_data['file']
            tf = transformImage()
            data = tf.pre_process_img(img)
            results = tf.greyscale_to_ascii(data)  # results contain result_white and result_black
            display_white = "\n"
            display_black = "\n"
            #convert the whole array into a string to avoid re-formatting
            for row in results[0]:  # result_white
                for char in row:
                    display_white += char
                display_white += "\n"
            request.session["display_white"] = display_white  # store display_white into request session

            for row in results[1]:  # result_black
                for char in row:
                    display_black += char
                display_black += "\n"
            request.session["display_black"] = display_black # store display_black into request session

            request.session['display'] = display_white  # by default, display white ascii art
            request.session["color"] = "white"
        else:
            print "uploading image failed"
    else:
        form = UploadImageForm() 
    return render(request, 'asciiart/success.html')
示例#5
0
def upload_photo_ajax(request):
    """View for Uploading a photo."""
    logger.info('Single image upload called by="'+str(request.user)+', ip='+str(request.META['REMOTE_ADDR']))
    if request.user.is_authenticated():
        if request.method == 'POST':
            form = UploadImageForm(request.POST, request.FILES or None)
            if form.is_valid():
                image = form.save(commit=False)
                image.user=request.user
                image.save()
                form.save_m2m()
                try:
                    default_album = get_object_or_404(Album, title="User's Posted")
                    image.albums.add(default_album)
                except:
                    logger.info('Error adding photo pk='+str(image.pk)+' to default album.')
                    pass
                logger.info('Uploaded an image title="'+str(image.title)+', by user="******"')
                if notification:
                    notification.send(User.objects.filter(is_superuser=True), "photo_add", {"ph_title":image.title,})

                return HttpResponse(unicode("Uploaded success!"))
            else: #form errors
                return render_to_response("photo/upload_photo_form_for_ajax.html", {'form': form})
        else: #get received
            form = UploadImageForm()
            return render_to_response("photo/upload_photo_form_for_ajax.html", {'form': form})
    else:
        return HttpResponse(unicode('<div class="phtitle">Please log in to upload photos!</div>'))
def upload_file1(request):
    form = UploadImageForm(request.POST, request.FILES)
    if form.is_valid():
        img = request.POST.get("imageData", "")
        base64Image1 = base64.b64encode(form.cleaned_data['image'].read())
        # print(base64Image)

    return render(request, 'app.html', {'form': UploadImageForm, 'image1': displayImage(base64Image1), 'ops': OperationsForm, 'imageData':img, 'imageData1':base64Image1})
示例#7
0
 def post(self, request):
     image_form = UploadImageForm(request.POST,
                                  request.FILES,
                                  instance=request.user)
     if image_form.is_valid():
         request.user.save()
         return HttpResponse('{"status":"success","msg":"修改成功"}',
                             content_type='application/json')
     else:
         return HttpResponse('{"status":"fail","msg":"修改失败"}',
                             content_type='application/json')
示例#8
0
文件: views.py 项目: Andy963/mxonline
 def post(self, request):
     image_form = UploadImageForm(request.POST,
                                  request.FILES,
                                  instance=request.user)  # 文件类型需要第二个参数
     if image_form.is_valid():
         image_form.save()
         return HttpResponse('{"status":"success"}',
                             content_type="application/json")
     else:
         return HttpResponse('{"status":"fail"}',
                             content_type="application/json")
示例#9
0
文件: views.py 项目: althe/MxOnline
 def post(self, request):
     imageForm = UploadImageForm(request.POST, request.FILES, instance=request.user)
     res = {}
     if imageForm.is_valid():
         imageForm.save()
         res['status'] = 'success'
         res['msg'] = '头像修改成功!'
     else:
         res['status'] = 'fail'
         res['msg'] = '头像修改失败!'
     return HttpResponse(json.dumps(res), content_type='application/json')
示例#10
0
 def post(self, request):
     image_form = UploadImageForm(request.POST,
                                  request.FILES,
                                  instance=request.user)  # 文件类型须传递这两个参数
     if image_form.is_valid():
         # image = image_form.cleaned_data['image']
         # request.user.image = image
         # request.user.save()
         image_form.save()  # 添加一个instance=request.user能够直接保存对象
         return JsonResponse({"status": "success"})
     else:
         return JsonResponse({"status": "fail"})
示例#11
0
def index(request):
    if request.method == "POST":
        form = UploadImageForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
    else:
        form = UploadImageForm()        
    images = EditorImage.objects.all().order_by("-created")[:10]
    return render_to_response('manager_index.html',
                              {'form': form,
                               'images': images},
                              RequestContext(request))
示例#12
0
 def post(self, request):
     image_form = UploadImageForm(request.POST,
                                  request.FILES,
                                  instance=request.user)
     if image_form.is_valid():
         # image = image_form.cleaned_data['image']
         # request.user.image = image
         request.user.save()
         return HttpResponse('{"status":"success"}',
                             content_type='application/json')
     else:
         return HttpResponse('{"status":"fail"}',
                             content_type='application/json')
def negative(request):
    if request.method == 'GET':
        form = UploadImageForm
        return render(request, 'image_negative.html', {'form': form})
    elif request.method == 'POST':
        form = UploadImageForm(request.POST, request.FILES)
        if form.is_valid():
            base64Image = base64.b64encode(form.cleaned_data['image'].read())
            from negative import negativeImage
            res = negativeImage(base64Image)
            return render(
                request, 'image_negative.html', {
                    'form': UploadImageForm,
                    'image': displayImage(base64Image),
                    'result': displayImage(res)
                })
def histogram(request):
    if request.method == 'GET':
        form = UploadImageForm
        return render(request, 'histogram.html', {'form': form})
    elif request.method == 'POST':
        form = UploadImageForm(request.POST, request.FILES)
        if form.is_valid():
            base64Image = base64.b64encode(form.cleaned_data['image'].read())
            from histogram import Image2Histogram
            res = Image2Histogram(base64Image)
            return render(
                request, 'histogram.html', {
                    'form': UploadImageForm,
                    'image': displayImage(base64Image),
                    'result': res
                })
示例#15
0
def search(request):
    if request.method != 'POST':
        return render_ajax(request, 'GET is not supported')

    form = UploadImageForm(request.POST, request.FILES)
    if not form.is_valid():
        return render_ajax(request, 'validate form failed')

    f = request.FILES['image']
    if f.content_type not in [ 'image/jpeg', 'image/jpg', 'image/bmp', 'image/png' ]:
        return render_ajax(request, 'format not supported')

    filename = handle_uploaded_file(f)    
    result = SearchService.search(filename, 0)

    return render_ajax(request, result=result)
def power(request):
    if request.method == 'GET':
        form = UploadImageForm
        return render(request, 'power-gamma.html', {'form': form})
    elif request.method == 'POST':
        form = UploadImageForm(request.POST, request.FILES)
        if form.is_valid():
            base64Image = base64.b64encode(form.cleaned_data['image'].read())
            gamma = request.POST.get("gamma", "")
            from power_gamma import adjust_gamma
            res = adjust_gamma(base64Image, float(gamma))
            return render(
                request, 'power-gamma.html', {
                    'form': UploadImageForm,
                    'image': displayImage(base64Image),
                    'result': displayImage(res)
                })
def equilisation(request):
    if request.method == 'GET':
        form = UploadImageForm
        return render(request, 'hist_equilisation.html', {'form': form})
    elif request.method == 'POST':
        form = UploadImageForm(request.POST, request.FILES)
        if form.is_valid():
            base64Image = base64.b64encode(form.cleaned_data['image'].read())
            from hist_eq import histogram_equalization
            res, hist, eq_hist = histogram_equalization(base64Image)
            return render(
                request, 'hist_equilisation.html', {
                    'form': UploadImageForm,
                    'image': displayImage(base64Image),
                    'result': displayImage(res),
                    'hist': hist,
                    'eq': eq_hist
                })
示例#18
0
def submit(request):
    if request.method == 'POST':
        form = UploadImageForm(request.POST, request.FILES)
        newImage = None
        if form.is_valid():
            newImage = form.save(commit=False)
            newImage.img_hash = getHash()
            if request.user.is_authenticated():
                newImage.uploaded_by = request.user
            newImage.save()
            request.session[newImage.img_hash] = True
            return redirect(reverse('images.views.view', kwargs={'img_hash': newImage.img_hash}))
        return render(request, "submit_post.html", {'newImage': newImage})
    form = UploadImageForm()
    if request.GET.get('ref') == 'modal':
        return render(request, 'modal_form.html', {'title': 'Upload an Image', 'form': form})
    else:
        return render(request, 'submit.html', {'form': form})
def equilisation(request):
    if request.method == 'GET':
        form = UploadImageForm
        return render(request, 'hist_equilisation.html', {'form': form})
    elif request.method == 'POST':
        form = UploadImageForm(request.POST, request.FILES)
        if form.is_valid():
            base64Image = base64.b64encode(form.cleaned_data['image'].read())
            from hist_eq1 import histogram_equalization
            res, x, y, z, x1, y1, z1 = histogram_equalization(base64Image)
            return render(
                request, 'hist_equilisation.html', {
                    'form': UploadImageForm,
                    'image': displayImage(base64Image),
                    'result': displayImage(res),
                    'x': x,
                    'y': y,
                    'z': z,
                    'x1': x1,
                    'y1': y1,
                    'z1': z1
                })
示例#20
0
def upload_view(request):
    message = None
    if request.method == "POST":
        try:
            form = UploadImageForm(request.POST, request.FILES)
            if form.is_valid():
                cd = form.cleaned_data
                uploadImage = UploadImage(image = cd['image'],
                                                     category = cd['category'], 
                                                     title = cd['title'],
                                                     user = request.user)
                
                uploadImage.save()
                return HttpResponseRedirect("/")
            else:
                message = str(form.errors)
        except:
            if os.path.exists(os.path.join(settings.MEDIA_ROOT, cd['image'].path)):
                os.remove(os.path.join(settings.MEDIA_ROOT, cd['image'].path))
            message = str(sys.exc_info()[1])
            
    form = UploadImageForm()
    return render_to_response(register_path, RequestContext(
                request, { "message": message, "form": form } ) )