월요일, 5월 27, 2024

flask에서 파일 접근 방법

지금까지 열심히 모아놓은 sotck db를 활용해서 flask를 통해 보기 좋게 화면을 하나 만들어보려고 작업중에 있는데 예상치 못한 난관에 부딪혀서 몇일을 해메였는데...

결국은 별거 아니었다는...


그래서 준비했습니다.

!!Flask를 사용해서 sqlite3 접근시 주의사항!!

플랫폼은 Windows 10 (Home), 파이썬은 3.12, flask, jinja2 등등 필요한 라이브러리는 pip3 default로 설치하였고, jupyter-notebook를 사용해서 개발중에 있습니다.

문제가 되었던 것은 

C:\WORK\jupyter 폴더에 flask의 Home 폴더가 되어 해당 폴더 밑에 index.py와 stocks.db 이름을 가지는 sqlite3 db를 위치해 두었습니다.

이전에 github에 올려두었던 python script를 사용해서 매주 업데이트 하고 있고, 최근에는 dart 정보도 추가해 놓은 터였죠.

index.py파일에서 "con = sqlite3.connect('stocks.db')" 코드로 접근해서 stock라는 테이블에서 자료를 뽑아오는 거였는데 no such table stock라고 stock 테이블이 없다고 에러를 뿜어대는데.. 

당연히 index.py와 같은 디렉토리 안에 있었기 때문에 

con = sqlite3.connect('stocks.db')

적어준것이 었는데,

con = sqlite3.connect('C:\WORK\jupyter\stocks.db')

이렇게 절대 경로를 모두 넣어줘야지 정상적으로 작동이 되는 것이었습니다.


No such table 에러를 구글에 검색해보니... migration이 제대로 안되어서 blablabla

도움이 하나도 안되는... (일반적인 경우 저 검색결과가 도움이 되었겠지만, 나는 아무것도 안했단말이다. ㅋ)


결국 connect 시 절대 경로를 모두 포함된 파일명을 사용하면 되는 것이었습니다.

다음에는 좀 더 유용한 내용으로 돌아오도록 하겠습니다.



출처: @ye._.vely618


댓글 없음: