0902 SeSAC(새싹) 3기 13일차

육은별·2021년 9월 2일
0

SeSAC(새싹)

목록 보기
13/31

백엔드코드 -> 서버
프론트에드코드 -> 클라이언트(웹브라우저)

<form>
  		{% csrf_token %} #이게 있으면 서버가 먼저 실행 후 클라로 넘겨줌
  		<input type="text">
</form>

-> 이건 백엔드코드(서버가 실행한다.)

<form>
  		<input type="hidden" value="asjfakldsjfasdkfsldf">
  		<input type="text">
</form>

alert는 자바스크립트 문법이며 실제로도 "웹브라우저"에 무언가 경고창을 띄우기 위한 용도다.

그런데 자바스크립트는 프론트엔드잖아 그리고 웹브라우저가 경고창을 띄운다는거는 이미 웹브라우저 입장에서는 서버가 다 실행을 완료한 코드를 받은거잖아 그러면 서버 이후에나 실행될 무언가를 하고 싶기 때문에 alert를 쓰는거잖아 그런데 views.py는 서버 단계에서 하는 작업이잖아

{%if%}
{%endif%}
def logged( req ) :
    logged_member = User.objects.filter(userid=req.POST.get('id'), password=req.POST.get('pwd')) #필터링

    if logged_member :
        print("로그인 성공")
        return render( req, 'logged.html', { 'total_member': logged_member } )
    else :
        print("로그인 실패")
#logge.html

<body>
	{{ total_member.userid }} //지금 로그인한거 유저 아이디가 찍힘
</body>

[0:5] -> 첫번째부터 다섯번째까지


비밀번호 변경

UPDATE문
:변경할 것을 변형한 후에 .save()

member = Member(userid='아이디',pw='1234')
member.save()

member = Member.objects.filter(userid='아이디')

print(member.userid) haha
print(member.username) 홍길동

member.username = '성춘향'

member.save()

#비밀번호 변경
member = Member.objects.filter(userid='아이디')
member.password = '1234'
member.save()
#계정 삭제
member = Member.objects.filter(userid='아이디')
member.delete()

//how to remove multiple objects in django
https://stackoverflow.com/questions/9143262/delete-multiple-objects-in-django

delete()문과 save()문은 앞이 오브젝트여야한다. -> 하나만 있어야한다.


pk > primary key의 약자, 한글로는 기본키

하나의 레코드를 다른 레코드와 구별하기 위한 "고유값" -> 연속적인 숫자로 하는 것이 일반적임

데이터베이스에서 CRUD를 처리할때 내부적으로 PK를 이용해서 많은 것을 한다.

"테이블 설계 할 때 기본키를 잡기 위한 행을 따로 둬요"

get -> single unique object
filter -> all objects -> Queryset -> for문을 사용


실습

change_member = User.objects.get(userid=req.POST.get('id'), password=req.POST.get('pwd'))
change_member.password = req.POST.get('re_pwd')
change_member.save()

    <form action="http://27.96.135.73:8000/yookeunbyul/login" method="post">
            {% csrf_token %}
            <div class="input-group flex-nowrap mt-5">
                <div class="input-group-prepend">
                    <span class="input-group-text" id="addon-wrapping">변경할 비밀번호</span>
                </div>
                <input type="text" class="form-control" placeholder="password" name='re_pwd'>
            </div>
            <button type="submit" class="btn btn-primary my-3">비밀번호 변경</button>
        </form>
#비밀번호 변경
def chapwd( req ) :
    return render ( req, 'chapwd.html' )

def changed ( req ) :
    change_member = User.objects.get(userid=req.POST.get('id'), password=req.POST.get('pwd'))
    change_member.password = req.POST.get('re_pwd')
    change_member.save()

    if change_member :
        print("변경 성공")
        return render( req, 'login.html' )
    else :
        print("변경 실패")
        return render( req, 'login.html' )
#계정탈퇴
def delid ( req ) :
    return render ( req, 'del.html' )

def deleted ( req ) :
    del_member = User.objects.get(userid=req.POST.get('id'), password=req.POST.get('pwd'))
    del_member.delete()

    if del_member :
        print("삭제 성공")
        return render( req, 'login.html' )
    else :
        print("삭제 실패")
        return render( req, 'login.html' )
profile
Front-end Engineer, Web Developer & UX/UI Design

0개의 댓글

관련 채용 정보