본문 바로가기

TIL

[TIL 2024. 02. 26]

오늘 한 일

  • 개인과제 4 (html, app.py, database)
  • TIL 작성

오늘의 리뷰

 html 

  1. 문제 상황: 부트스트랩의 input group에서 가져왔는데, dropdown을 선택한 후에도 데이터가 보내지지 않는 문제가 발생함. 그리고 부수적으로 select태그와 button태그의 위치 조정이 원하는대로 되지 않음.
  2. 문제 원인: form태그가 추가적으로 필요함을 알지 못했고, button도 type이 'submit'이 아닌 'button'으로 되어있었음.
  3. 문제 해결: form태그에 action = {{ url_for('app.py의 함수(위치)') }}으로 수정. button도 'submit'으로 수정함. select와 button은 div로 묶은 후 'input-group'이라는 class로 css(esp.'width')를 설정해줌. //

 

  1. 문제 상황: 사용자, 컴퓨터의 선택이 무엇인지와 가위바위보의 결과를 출력하고자 했는데, 코드 작성이 반영되지 않음. 이를 해결하기 위해 for문을 써봐도 여러개가 출력될 뿐, 원하는 바 대로 결과가 insert되어 출력되지 않음. 즉, 가장 최신의 가위바위보 결과가 나오지 않음.
  2. 문제 원인: 최신의 결과를 가져오라는 코드 작성이 누락됨 + database에 값이 없을 때는 오류가 발생하므로, 이를 방지하기 위한 if 자동완성문도 필요함
  3. 문제 해결: {{ data[-1].user_pick }}과 같이 나머지도 코드 작성해줌. {% if %}{% endif %}문을 div태그의 바깥에 위치 시켜줌으로써, database에 값이 없는 경우는 data[-1]을 작성하지 않게 해서 오류 발생을 방지함. //

 

 app.py 

  1. 문제 상황: check_winner()함수의 return한 결과값을 db로 보내는 것에 어려움을 겪음. check_winner()을 실행하고 그 반환값을 변수에 넣어서 활용해보려고 했지만, 계속 오류가 발생함. 또 save_to_db의 return이 html에 제대로 반영되지 않음.
  2. 문제 원인: check_winner()를 호출해서 변수에 넣는 것을 save_to_db()함수 밖에서 먼저 정의했었음. 즉, 순서에 맞지 않았음. save_to_db() 내에서 check_winner() 호출 후 변수에 담고, 이를 활용해야 함.
  3. 문제 해결: //

 

 database 

  1. 문제 상황: class Rsp_play를 작성할 때, 열에 win_cnt, draw_cnt, lost_cnt를 추가해야 하는가의 방향을 잡지 못함.
  2. 문제 해결: win_cnt, draw_cnt, lost_cnt를 열에 추가하여 출력하는 것보다는 check_winner()이 끝난 후, 통계적으로 count하기 하고 html에 출력하기 위해 cnt와 관련된 함수를 별도로 작성하기로 함. //

'TIL' 카테고리의 다른 글

[TIL 2024. 02. 28]  (0) 2024.02.28
[TIL 2024. 02. 27]  (0) 2024.02.28
[TIL 2024. 02. 23]  (0) 2024.02.23
[TIL 2024. 02. 22]  (0) 2024.02.23
[TIL 2024. 02. 21]  (0) 2024.02.21