def user_settings(req): if not req.user.is_authenticated() or req.user.is_anonymous(): return redirect("index") tpl = "website/settings.html" ctxt = dict() ctxt["change_pwd_form"] = PasswordChangeForm(req.user) loc = req.user.locutor if req.method == "POST": random_pic_name = "".join( [choice(string.ascii_letters) for i in xrange(32)]) if 'img' in req.FILES.keys(): req.FILES['img'].name = random_pic_name picform = ImageUploadForm(req.POST, req.FILES) if picform.is_valid(): # TODO delete old file # with open(settings.MEDIA_ROOT + 'pic/' + loc.pic.name, 'wb+') as destination: # for chunk in loc.pic.chunks(): # destination.write(chunk) loc.pic.delete() loc.pic = picform.cleaned_data["img"] # File(random_pic_name, req.FILES['files[]']) loc.save() req.user.save() else: print picform.errors return render(req, tpl, ctxt)
def img_upload(request): if request.method == 'POST': img_form = ImageUploadForm(request.POST, request.FILES) if img_form.is_valid(): img_path = ImagsPath(img=img_form.cleaned_data.get('img')) img_path.save() # location = img_path.img.url location = 'http://' + request.get_host() + img_path.img.url # rv = {'location': location} # print rv status = 200 print location # import pdb;pdb.set_trace() script_string = """ <script>top.$('.mce-btn.mce-open').parent().find('.mce-textbox').val('%s').closest('.mce-window').find('.mce-primary').click();</script> """ % location sleep(3) return HttpResponse(script_string, status=status) else: rv = img_form.errors print rv status = 409 return HttpResponse("<script>alert('%s');</script>" % img_form.errors, status=status)
def image_upload(request): user = request.user if request.method != 'POST': return HttpResponse(status=404) else: form = ImageUploadForm(request.POST, request.FILES) form.author = user if form.is_valid(): iu = form.save() item_id = request.GET.get('item_id', None) if item_id: item = Item.objects.get(id=int(item_id)) iu.content_object = item iu.save() f = request.FILES.get('image') files = [{ 'url': iu.image.url, 'name': unicode(iu.uuid), "type": "image/png", 'thumbnailUrl': iu.image.url, 'size': f.size, 'deleteUrl': '/image_delete/' + unicode(iu.uuid) + '/', 'deleteType': "DELETE", }] data = {"files": files} response = JSONResponse(data, {}, response_mimetype(request)) response['Content-Disposition'] = 'inline; filename=files.json' return response
def upload_profile_image(request): if request.method == 'POST': form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): # Save original image to DB and file system to get real path uploaded_img = request.FILES.get('image') file_content = ContentFile(uploaded_img.read()) profile_img, created = ProfileImage.objects.get_or_create(user=request.user) profile_img.image.save(str(profile_img.id) + '.jpg', file_content) profile_img.save() # Resize image and save to thumbnail field handle_uploaded_image(profile_img) # redirect to image upload form with preview after POST return HttpResponseRedirect(reverse('ergo_users.views.upload_profile_image')) else: form = ImageUploadForm() # empty form # Load image preview for upload image page try: profile_img = ProfileImage.objects.get(user=request.user) except ProfileImage.DoesNotExist: profile_img = None return render_to_response('users/upload-image.html', {'profile_img': profile_img, 'form': form}, RequestContext(request))
def upload_pic(request): if request.method == 'POST': form = ImageUploadForm(request.POST, request.FILES) imageName = str(request.FILES['image']) print "Hello this is :"+imageName # print request.POST if form.is_valid(): m = ExampleModel() m.model_pic = form.cleaned_data['image'] m.save() im = imClassify.imClassify() imagePath = 'utilities/images/'+imageName resultList = im.main(imagePath) print "THi is view ;;;;;; ------ ;;;;" print resultList # Considering only the first string # [['giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca', 0.89233041], ['indri, indris, Indri indri, Indri brevicaudatus', 0.0085870409], ['lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens', 0.0026423461], ['custard apple', 0.0014067066], ['earthstar', 0.0010706335]] nameOfTopic = resultList[0][0].split(",")[0] print nameOfTopic du = duckduckGo.duckduckGo() description = du.getInfo(nameOfTopic) print description # Now deleting the file if os.path.isfile(imagePath): os.remove(imagePath) return render(request,'result.html',{'imageName':nameOfTopic, 'description':description}) return HttpResponseForbidden('allowed only via POST')
def avatar(request): if request.method == 'POST': form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): request.user.avatar = form.cleaned_data['image'] request.user.save() return HttpResponseRedirect("../profile/")
def upload_pic(request): if request.method == 'POST': form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): image = ImageModel(image=request.FILES['image']) image.save() return render(request, 'success.html') else: form = ImageUploadForm() return render(request, 'upload.html', {'form': form})
def add_image(request): if request.method == 'POST': form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): form.save() else: response = HttpResponse() response.status_code = 400 return response return HttpResponseRedirect(reverse('local_list'))
def upload(request): if not request.POST: form = ImageUploadForm() else: form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): form.save() relative_url = settings.MEDIA_URL + settings.UPLOAD_DIR + str(form.cleaned_data['image']) return redirect(relative_url) return direct_to_template(request, "upload.html", {'form': form})
def upload_image(request): """ Upload image :param request: HTTP request :return: json data in python dict """ if request.method == 'POST': form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): form.save() return dict(filelink=form.get_media_url()) return {}
def post(self, request, *args, **kwargs): post = request.POST oled_id = post.get('oled_id', '') image_form = ImageUploadForm(request.POST, request.FILES or None) if image_form.is_valid(): oled = Oled.objects.get(oled_id=oled_id) oled.oledimage_set.create( image_image=request.FILES.get('file', ''), image_thumbnail=request.FILES.get('file', '')) return HttpResponse('Posted') print('fail') return HttpResponse('Failed')
def upload_pic(request): c = {} c.update(csrf(request)) script_args['c'] = c if request.method == 'POST': form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): m = ExampleModel() m.model_pic = form.cleaned_data['image'] m.save() return HttpResponse('image upload success') return render_to_response("emc/upload_pic.html", c)
def save(request): if request.method == 'POST': form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): # get profile from user if not request.user.user_profile.all(): profile = UserProfile() profile.user = request.user profile.save() m = request.user.user_profile.all()[0] m.photo = form.cleaned_data['image'] m.save() return HttpResponse('image upload success') return HttpResponseForbidden('allowed only via POST')
def showScrapbookPage(request,userID): if request.method == 'POST': form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): user = User.objects.get(pk=userID) print userID m = Pictures(picture = request.FILES['picture'],date = timezone.now(), caption = "",user=user) # m.model_pic = form.cleaned_data['image'] m.save() #if form.user.is_valid(): #form.user(user=request.user) #check # form.save() scrapbook_gen = Pictures.objects url = Pictures.objects.filter(user=User.objects.get(pk=userID)) #url = [x.picture.url.replace("fridge/static/", "") for x in Pictures.objects.all()] return render(request, 'scrapbook/scrapbook.html', {'scrapbook_gen':scrapbook_gen, 'url':url, 'form': ImageUploadForm(),'userID':userID})
def upload_pic(request): if request.method == 'POST': form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): user = request.user photo = Photo() photo.photo = form.cleaned_data['image'] photo.public = form.cleaned_data['public'] photo.name = form.cleaned_data['name'] photo.owner = user.customuser photo.save() # print(photo.photo) return HttpResponseRedirect('/photos/success_upload/') elif request.method == 'GET': form = ImageUploadForm() return render(request, 'photos/upload.html', {'form': form}) return render(request, 'photos/upload.html', {'form': form})
def upload_image(request): """ Handles image uploads and assigns them to the correct user. Resizes the image before uploading. The uploaded image's URL is in the HTTP header (Location) """ if request.method == 'POST': form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): img = Image() img.user = request.user img.note_id = form.cleaned_data['note'] img.image = form.cleaned_data['image'] img.save() # Build a response response = HttpResponse(status=201) response['Location'] = img.image.url.replace(settings.AWS_MEDIA_URL,settings.MEDIA_URL,1) return response else: return HttpResponse(status=400) return HttpResponseForbidden()
def upload_image(request): """ Handles image uploads and assigns them to the correct user. Resizes the image before uploading. The uploaded image's URL is in the HTTP header (Location) """ if request.method == 'POST': form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): img = Image() img.user = request.user img.note_id = form.cleaned_data['note'] img.image = form.cleaned_data['image'] img.save() # Build a response response = HttpResponse(status=201) response['Location'] = img.image.url.replace( settings.AWS_MEDIA_URL, settings.MEDIA_URL, 1) return response else: return HttpResponse(status=400) return HttpResponseForbidden()
def save_image(request): """ Save DateaImage instance for specified object FK or M2M-Field post parameters must include: image: image file input order: the order of the image (optional) """ key_auth = ApiKeyAuthentication() if not key_auth.is_authenticated(request): return HttpResponse("<h1>Login required</h1>") form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): image_data = request.FILES['image'] image_instance = Image(image=image_data, user=request.user) if 'order' in form.cleaned_data: image_instance.order = form.cleaned_data['order'] image_instance.save() # create image resource ir = ImageResource() im_bundle = ir.build_bundle(obj=image_instance) im_bundle = ir.full_dehydrate(im_bundle) data = {'ok': True, 'message':'ok', 'resource': im_bundle.data} status=201 else: data = {'ok': False, 'message': form.errors} status = 400 resp = JsonResponse(data) resp.status_code = status return resp
def save_image(request): """ Save DateaImage instance for specified object FK or M2M-Field post parameters must include: object_type: name of the model class object_id: pk of the instance object_field: fk or m2m fieldname image: image file input order: the order of the image (optional) """ if not request.user.is_authenticated: return HttpResponse("<h1>Login required</h1>") form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): # ADD DATEA IMAGE INSTANCE To EXISTING OBJECT if form.cleaned_data['object_id'] and form.cleaned_data['object_type'] and form.cleaned_data['object_field']: # get model through content type, object instance, field class model = ContentType.objects.get(model=form.cleaned_data['object_type'].lower()) object = model.get_object_for_this_type(pk=form.cleaned_data['object_id']) # Only access image if object is owned by user or user. # TODO: implement better permissions with something like django-guardian if object.user == request.user or request.user.is_staff: field_name = form.cleaned_data['object_field'] field = object._meta.get_field(field_name) image_data = form.cleaned_data['image'] # field is foreign key if type(field) in [ForeignKey, OneToOneField]: image_instance = getattr(object, field_name) # create new DateaImage and save to objects foreignkey field if not image_instance: image_instance = DateaImage(image=image_data, user=request.user) image_instance.save() setattr(object, field_name, image_instance) object.save() # update existing image else: image_instance.image = image_data image_instance.save() elif type(field) == ManyToManyField: m2m = getattr(object, field_name) #if image_order specified, check if image exists if 'image_order' in request.POST and request.POST['image_order']: order = request.POST['image_order'] # update existing image try: image_instance = m2m.get(order=order) image_instance.image = image_data image_instance.save() # create new with specified order except: image_instance = DateaImage(image=image_data, user=request.user, order=order) image_instance.save() m2m.add(image_instance) # create new image with corresponding order (last + 1) else: if m2m.count() == 0: order = 0 else: order = m2m.order_by('order')[0].order + 1 image_instance = DateaImage(image=image_data, user=request.user, order=order) image_instance.save() m2m.add(image_instance) # create image resource ir = ImageResource() im_bundle = ir.build_bundle(obj=image_instance) im_bundle = ir.full_dehydrate(im_bundle) data = {'ok': True, 'message':'Everything\'s fine', 'resource': im_bundle.data } if form.cleaned_data['thumb_preset']: try: data['resource']['thumb'] = image_instance.get_thumb(form.cleaned_data['thumb_preset']) except: pass data = simplejson.dumps(data) else: data = simplejson.dumps({'ok': False, 'message': 'Permission denied'}) # JUST ADD IMAGE WITHOUT REFERENCING IT TO AN OBJECT else: image_data = form.cleaned_data['image'] image_instance = DateaImage(image=image_data, user=request.user) if 'order' in form.cleaned_data: image_instance.order = form.cleaned_data['order'] image_instance.save() # create image resource ir = ImageResource() im_bundle = ir.build_bundle(obj=image_instance) im_bundle = ir.full_dehydrate(im_bundle) data = {'ok': True, 'message':'Everything\'s fine', 'resource': im_bundle.data} if form.cleaned_data['thumb_preset']: try: data['resource']['thumb'] = image_instance.image[form.cleaned_data['thumb_preset']].url except: pass data = simplejson.dumps(data) else: data = simplejson.dumps({'ok': False, 'message': form.errors}) context = Context({'data': data}) tpl = Template('<textarea data-type="application/json">{{ data|safe }}</textarea>') return HttpResponse(tpl.render(context))
def edit(request): #create user profile status = '' if request.method == 'POST': if 'email' in request.POST: email = request.POST['email'] username = request.POST['username'] password = request.POST['password'] lastname = request.POST['lastname'] firstname = request.POST['firstname'] middlename = request.POST['middlename'] status = request.POST.get('status','') education = request.POST.get('education','') year = request.POST.get('year','1') course = request.POST.get('course','1') user = User.objects.create_user(username, email, password) user.first_name = firstname user.last_name = lastname user.save() user = authenticate(username=username, password=password) if user is not None: if user.is_active: login(request, user) profile = UserProfile() profile.user = user profile.middle_name = middlename profile.status = status profile.education = education profile.grade = course profile.year = year profile.save() form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): # get profile from user if not request.user.user_profile.all(): profile = UserProfile() profile.user = request.user profile.save() m = request.user.user_profile.all()[0] status = m.status m.photo = form.cleaned_data['image'] m.save() if 'about' in request.POST or 'teaching' in request.POST or 'science' in request.POST or 'publications' in request.POST: if not request.user.user_profile.all(): profile = UserProfile() profile.user = request.user profile.save() m = request.user.user_profile.all()[0] if 'about' in request.POST: m.about = request.POST.get('about','') if 'teaching' in request.POST: m.teaching = request.POST.get('teaching','') if 'science' in request.POST: m.science = request.POST.get('science','') if 'publications' in request.POST: m.publications = request.POST.get('publications','') m.save() context = get_context(request) context['type'] = status return render(request, 'main/edit.html', context) elif request.user.is_authenticated(): context = get_context(request) if not request.user.user_profile.all(): profile = UserProfile() profile.user = request.user profile.save() context['type'] = request.user.user_profile.all()[0].status return render(request, 'main/edit.html', context) return HttpResponseForbidden('allowed only registered users or via POST')
def upload_pic(request): if request.method == 'POST': form = ImageUploadForm(request.POST, request.FILES) if form.is_valid(): # os.remove(file) for file in os.listdir('path/to/directory') if file.endswith('.png') for file in os.listdir(os.path.join(BASE_DIR, 'media', 'img')): if (file.endswith('.jpg')): os.remove(os.path.join(BASE_DIR, 'media', 'img', file)) for file in os.listdir(os.path.join(BASE_DIR, 'static', 'img')): if (file.endswith('.jpg')): os.remove(os.path.join(BASE_DIR, 'static', 'img', file)) m = ExampleModel() m.model_pic = form.cleaned_data['image'] m.save() for file in os.listdir(os.path.join(BASE_DIR, 'media', 'img')): if (file.endswith('.jpg')): shutil.move( os.path.join(BASE_DIR, 'media', 'img', file), os.path.join(BASE_DIR, 'media', 'img', 'main.jpg')) shutil.copy( os.path.join(BASE_DIR, 'media', 'img', 'main.jpg'), os.path.join(BASE_DIR, 'static', 'img', 'main.jpg')) pathForImage = os.path.join(BASE_DIR, 'static', 'img', 'main.jpg') mainImage = cv2.imread(pathForImage) p = subprocess.Popen( '/usr/local/src/openalpr/src/build/alpr -c kz -p kz -j ' + pathForImage, stdout=subprocess.PIPE, shell=True) (output, err) = p.communicate() p_status = p.wait() main_out = output.split('\n')[0] data = (json.loads(main_out))['results'] # print(data) if (len(data) == 0): data = {'plateNumber': 'НОМЕР БЫЛ НЕ НАЙДЕН'} return render(request, 'second.html', data) else: coordinates = data[0]['coordinates'] top_left = coordinates[1] bottom_right = coordinates[3] y1 = top_left['y'] x1 = top_left['x'] y2 = bottom_right['y'] x2 = bottom_right['x'] cv2.rectangle(mainImage, (x1, int(y1)), (x2, int(y2)), (0, 255, 0), 1) cv2.imwrite(pathForImage, mainImage) plates = data[0]['candidates'] plate_number = (data[0]['candidates'][0]['plate']) best_predicted = data[0]['candidates'][0]['plate'] best_predicted_by_pattern = [] for plate in plates: if (plate['matches_template'] == 1): best_predicted_by_pattern.append(plate['plate']) if (len(best_predicted_by_pattern) != 0): best_predicted = best_predicted_by_pattern[0] data = {'plateNumber': best_predicted} return render(request, 'second.html', data) return HttpResponseForbidden('allowed only via POST')