TIL) 2022-11-17(팀 프로젝트)
팀 프로젝트
에러
flask
에러 : 서버에 업로드 했지만 not Found 에러 발생
원인 : githup merge과정을 거치면서 app.py의 port부분이 4000으로 바뀜
if __name__ == '__main__':
app.run('0.0.0.0', port=4000, debug=True)
해결 : 4000을 5000으로 수정함
if __name__ == '__main__':
app.run('0.0.0.0', port=5000, debug=True)
1. 트러블 슈팅
상황 : 컴포즈커피 카페 메뉴에서 커피 이름, 커피 영양 정보, 커피 이미지,등 크롤링 중 영양 정보에서 숫자값만 크롤링하기 어려움 (split , re.sub 사용)
원인 : split( : )[1] 사용 > 상세 정보중 없는 내용이 있는 메뉴에서 false값이 나와 오류 발생 > if문 사용 > flase인 값 제외하고 출력시 내용이 비어있는 메뉴는 출력이 안됨
re.sub사용 > 소수점자리 까지 생략되어 숫자가 다르게 나옴
해결 : 컴포즈 커피를 포기하여 해결
상황 : db에 저장된 즐겨찾기 부분의 리스트에 접근을 성공 했지만 숫자값만 추출하기 어려움
원인 : 리스트 형식이 [{'coffee_id' : 100},{'coffee_id' : 101},{'coffee_id' : 102}] 이런 형태로 저장되어 숫자값만 추출하기 어려움
해결 : 구글링과 질문을 통해 for문을 사용하여 리스트값에 접근을 한뒤 새로운 리스트에 숫자값만을 append하여 해결
상황 : 삭제버튼에 받아온 uid 값을 넣어 버튼 클릭시 uid값을 통해 db에 접근해 coffee_id가 같은 데이터를 db.user.update를 통해 삭제를 하려 했지만 삭제가 어려움
원인 : uid이 같은 db에서 coffee_id를 [ ] 으로 업데이트 하려 했으나 저장된 리스트에 키값이 존재 하지 않아 update하기 어려움
해결 : user 부분의 coffee_id 가 저장되어있는 리스트 안에 키값을 같이 넣어주었고 update $pull을 통해 삭제를 성공함
새로 알게된 내용
트러블슈팅
jwt 인증방식 - 서버에 세션 정보를 저장하지 않고 , 로그인 시 클라이언트에게 로그인 사용자 정보가 포함된 토큰을 발행하고, 클라이언트는 서버에 작업을 요청 할 때 마다 토큰을 같이 보내어 토큰에 저장된 사용자 정보를 가지고 처리하는 방식
jinja2 템플릿 (ssr(서버 사이드 랜더링) )- jinja2 템플릿을 사용하면 템플릿이 포함된 html 파일을 동적으로 실행 할 수 있고 flask를 사용하여 html의 원하는 부분에 출력할 수 있기 때문에 동적 웹을 간편하게 구현 할 수있다.
어제 목표 : 성공 :)
내일 목표 : ?