def register(request): if request.method == 'POST': if request.POST['pw'] == request.POST['confirm-pw']: user = User.objects.create_user(request.POST['id'], password=request.POST['pw']) auth.login(request, user) profile = Profile() profile.user = request.user profile.image = os.path.join(BASE_DIR, '/default/lion_profile.jpg') profile.save() return redirect('home') else: return render(request, 'register.html')
def upld_propic_2(request): user = request.user usrnm = str(user) if request.method == 'POST': img = request.POST.get('propic') with open("media/profile-pic/applicant/" + usrnm + "_imageToSave.png", "wb") as fh: fh.write(base64.b64decode(img)) try: obj = Profile.objects.get(author=user.id) obj.image = "/" + fh.name obj.save() except: obj = Profile() obj.image = "/" + fh.name obj.author = user obj.save() return redirect('/applicant/edit_profile/')
def editProfile (request): uname = request.user auth = User.objects.get(username=uname) pk = User.objects.get(username=uname).pk pinfo = '' try: pinfo = Profile.objects.get(author = pk) except: print(" no profile") if request.method == 'POST': #print('<><><><><><><>>>>>>>>>>>>>>>>>>>>>> ',request.FILES['image']) try: pinfo = Profile.objects.get(author = pk) print("***********<<<<<<< pinfo has data >>>>>>>***********") form = editprofileForm(request.POST, request.FILES ,instance = pinfo) if form.is_valid(): pinfo.image = form.cleaned_data.get('image') pinfo.phonenumber = form.cleaned_data.get('phonenumber') pinfo.address = form.cleaned_data.get('address') pinfo.job_title = form.cleaned_data.get('job_title') pinfo.save() #messages.success(request,f'Job has been updated successfully !!') return redirect(f'/applicant/profile/{request.user}') except: form = editprofileForm(request.POST , request.FILES) if form.is_valid(): print("<<< pinfo has no data >>>") inst = Profile() inst.image = request.FILES.get('image') #print ('**************************',inst.image) inst.phonenumber = form.cleaned_data.get('phonenumber') inst.address = form.cleaned_data.get('address') inst.job_title = form.cleaned_data.get('job_title') inst.author = auth inst.save() return redirect(f'/applicant/profile/{request.user}') return render(request,'applicant/edit_profile.html',{'result':auth , 'info' : pinfo ,})
def change_profile(request): # if profile_image exist, delete this image if Profile.objects.filter(user=request.user): Profile.objects.filter(user=request.user).delete() profile = Profile() profile.user = request.user # save profile_image if 'image' in request.FILES: im = Image.open(request.FILES['image']) im = im.resize((1920, 1920)) bigsize = (im.size[0] * 3, im.size[1] * 3) mask = Image.new('L', bigsize, 0) draw = ImageDraw.Draw(mask) draw.ellipse((0, 0) + bigsize, fill=255) mask = mask.resize(im.size, Image.ANTIALIAS) im.putalpha(mask) output = ImageOps.fit(im, mask.size, centering=(0.5, 0.5)) output.putalpha(mask) buffer = BytesIO() output.save(buffer, format='png') file = InMemoryUploadedFile( buffer, '{}'.format(request.FILES['image']), '{}'.format(request.FILES['image']), 'image/png', buffer.tell(), None, ) profile.image = file profile.save() return redirect('/account/userpage/' + str(profile.user))