본문 바로가기

TIL

내일배움캠프 4기_mypage GET, frontend, ER다이어그램 18일차 TIL

728x90

내일배움캠프 4기_mypage GET, frontend, ER다이어그램 18일차 TIL


Mypage Frontend 구현

 

오늘 팀원분이 frontend 하기 싫다고해서 내가 frontend하기로~

mypage front

 

수정 삭제 작업 안해보셨다길래

[수정하기] 버튼 누르면 해당 아이디 회원 정보 get해서 input태그에 반영

[수정완료] 버튼안에는 콘솔창 값 들어갈 수 있게만 구현해드렸다.


ER 다이어그램

 

📌 mysql 테이블 튜플 형태

curs = db.cursor()

 

📌 mysql 테이블 딕셔너리 형태

curs = db.cursor(pymysql.cursors.DictCursor)

또한 튜플로 값을 받으니 특정 회원정보 값 받아서 마이페이지에 업로드하는 과정이 힘들었다.

테이블 보면서 일일히 몇번째 인덱스에 있는지 확인하고 index값 적어주고ㅠ

 

딕셔너리로 값을 넘겨주라는 튜터님의 조언으로 접근하니,

POST 구현할 때 무슨 값인지 명확하고 코드 보기도 쉬워졌다!!!


JWT payload 설정

 

📄 app.py

    # 토큰 발행, id, payload, 시크릿키가 필요
    payload = {
        'id': users_result['user_id'], #user_id 값이 들어가야함
        'email': email_receive,
        'exp': datetime.utcnow() + timedelta(seconds=60*60*24)
    }
    token = jwt.encode(payload, SECRET_KEY, algorithm='HS256')

기존에는 토큰 발행할 때, 토큰 id값에 user_email을 넣었었다.

이렇게 되면 ER다이어그램에서 AUTO INCREMENT를 쓰는 이유가 사라진다.

나는 이 부분 개념을 잘 몰랐어서 참조키도 user_email로 해야하나?

조원들과 이야기 중인데 그게 아니었다!!

 

id int PRIMARY KEY AUTO_INCREMENT

 

참조키는 PRIMARY KEY만 가능하다!!! 

DB특강으로 배웠던건데... 참... 응용력이 딸린다.

직접해봐야 개념이 더 머리에 들어오는 것 같다.

앞으로 특정 유저 접근하고 외래키(참조키) 설정할때 유의해야겠다.