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')
예제 #2
0
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/')
예제 #3
0
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))