Pandas를 이용하여 원그래프를 만들어 예산과 소비금액을 비교하여 보여주고, 데이터베이스에서 예산과 소비금액을 받아와 화면에 보여주는 화면을 구현하던 중 로그인 정보에 맞지 않는 데이터들이 페이지에 보여지는 것을 발견하였다.
따라서 함수를 수정해 로그인정보에 맞는 데이터만 가져오도록 수정해보려한다.
먼저 기존의 코드를 올려두겠다.
위의 코드에서 세션에 저장된 로그인 정보가 구분되고 있지 않다는 것을 확인하였으며, 세션 또한 불러오지 않고 있다는 것을 알게되었다.
그렇기때문에 아래의 코드에서 튜플에 저장된 0번째 데이터만 가져오게 되면서 로그인 정보와는 맞지 않는 데이터가 페이지에 나타나게 된 것이다.
Budget = budget_tuple[0] if budget_tuple else 0
________________________________________________________________________________________________
따라서 로그인 세션 정보를 불러오고, 세션에 저장된 로그인 정보와 데이터베이스를 비교하여 필터링 해준 후 데이터를 가져와보겠다.
if문을 사용하여 로그인 세션 정보를 가져오고 SQL쿼리를 사용해 로그인 정보를 비교해 주겠다.
아래의 코드에서 확인해볼 수 있다. 이 코드를 사용하여 기존의 코드를 수정할 것이다.
query = "SELECT budget FROM budget WHERE username = %s"
최종적으로 기존에 정의한 함수에 수정한 퀴리를 넣어주면 로그인 세션에 저장한 username정보를 가져와 데이터베이스의 budget테이블에 있는 username을 비교하여 해당하는 데이터만을 가져올 수 있게 된다.
아래의 코드가 수정된 코드이다.
결과적으로 튜플을 불러오는 형식은 그대로 사용해주었으나 로그인 정보를 비교해 필터링 해줌으로써 정확한 로그인 정보와 해당하는 데이터를 찾고 사용자에게 보여줄 수 있게 되었다.
'프로젝트 > [머니버디] 카드상품 추천 챗봇(finchatbot)' 카테고리의 다른 글
[머니버디] 최종 결과물 및 기능 소개 (0) | 2024.01.06 |
---|---|
[머니버디] 카드 추천 데이터 필터링 (0) | 2023.11.28 |
[머니버디] 카드 추천 페이지 구현 (1) | 2023.11.22 |
[머니버디] 카드 추천 시스템 (1) | 2023.11.21 |
[머니버디] 카드 데이터 임베딩(embedding) (0) | 2023.11.20 |