본문 바로가기

Log/Trouble shoot21

Expres.js_SequelizeDatabaseError Unknown column 'userId' in 'field list' trouble smashing log Time: 2023-01-15 02:53 TSL-id : tsl-20230115 Problem Express.js에 Sequelize로 DB를 연동한 뒤에, 게시글 조회 API를 호출 시 아래와 같은 에러가 발생했다. error: SequelizeDatabaseError: Unknown column 'userId' in 'field list' Cause 에러 코드를 직역하면 userId가 없다는 이야기다. 어딘가 userId 필드와 관련된 것 처럼 보인다. 팀원 분 한분이 스키마와 관련된 이슈인 것 같다고 하시더니, 모델 쪽에 오타인 점을 발견해주셨다. 문제의 원인은 외래키 문제였다. Posts 모델과 N:1 관계를 맺고 있는 Users .. 2023. 1. 15.
flask_템플릿 엔진 jinja가 무엇인가 궁금하다 {% if msg %} alert("{{ msg }}") {% endif %} 플라스크 서버를 만들 때 이런 문법을 html 상에서 종종 사용할 때가 있다. 이건 무슨 문법인지 궁금해졌다. 알고보니 무슨 문법이고 찾아보니 jinja의 문법이라고 한다 Jinja는 무엇인가? 여기서 Jinja가 무엇인가? Jinja는 flask가 기본으로 제공하는 템플릿 엔진이다. 위에서 본 것들은 Jinja의 템플릿 문법으로 작성한 코드다. 왜 Jinja를 사용하나? 플라스크 서버를 구축하면 파이썬 app.py와 html 파일이 서로 정보를 주고 받는다. 이때 서버(app.py)에서 보낸 정보를 1)html 상에 출력을 하거나 2)html 코드 자체를 동적으로 제어할 때 사용한다. 어떻게 사용하나? 변수 >> t.. 2022. 12. 11.
다중 파라미터 ajax post 요청 후 flask 서버에서 받기 문제 해결 서머리 프론트 단에서 Ajax로 데이터를 POST 형식으로 보내려면 plainObject, string, array 3가지 방식이 있는데, 복수의 데이터를 보내기 위해 JSON.stringfy 메소드를 사용해서 string화 시킨 데이터를 서버를 보냈다. 그렇게 되면 flask 서버단에서는 ‘dict 형태 처럼 보이는’ 문자열을 받는데, 이를 eval() 함수를 사용해서 딕셔너리로 전환시키면 즉시 활용 가능하다. 업데이트(2022-12-07) 이전에 학습했던 웹종합반 3주차 강의에서 ajax post 데이터를 보낼 때 이렇게 3개의 key, value 페어로 보내고, 받아올 때 request.form을 활용해서 데이터들을 개별적으로 변수에 저장하는 방식으로 진행한 것을 확인했다. 역시 배울 때.. 2022. 12. 7.
js_inputText의 입력값 가져오기 문제(getElementById, getElementsByClassName) 문제 input 태그 안에 입력한 문자열 ‘Hello’를 JS로 가져오고 싶었다. 그런데 클래스명으로 지정해서 value 프로퍼티를 가져오려니 undefined만 반환하는 것이 문제다. 문제 원인, 시도 시도 1 - innerText로 가져오기 function postComment(num) { const inputText = document.getElementsByClassName(`comment-post-input-${num}`).innerText; console.log(inputText); }​ -> undefined 시도2 - value로 가져오기 function postComment(num) { const inputText = document.getElementsByClassName(`commen.. 2022. 12. 6.