728x90
내일배움캠프 4기_mypage GET, frontend, ER다이어그램 18일차 TIL
Mypage Frontend 구현
오늘 팀원분이 frontend 하기 싫다고해서 내가 frontend하기로~
수정 삭제 작업 안해보셨다길래
[수정하기] 버튼 누르면 해당 아이디 회원 정보 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특강으로 배웠던건데... 참... 응용력이 딸린다.
직접해봐야 개념이 더 머리에 들어오는 것 같다.
앞으로 특정 유저 접근하고 외래키(참조키) 설정할때 유의해야겠다.
'TIL' 카테고리의 다른 글
내일배움캠프 4기_JS기초 21일차 TIL (0) | 2022.12.12 |
---|---|
내일배움캠프 4기_mypage PUT, flask mySQL 비밀번호 암호화, GIT 19일차 TIL (0) | 2022.12.08 |
내일배움캠프 4기_Flask image file 17일차 TIL (0) | 2022.12.06 |
내일배움캠프 4기_Flask JWT MySQL 16일차 TIL (0) | 2022.12.05 |
flask JWT cookie (0) | 2022.12.04 |