Knowledge Map

파이썬 프레임워크 플라스크 -2 본문

PYTHON/Flask

파이썬 프레임워크 플라스크 -2

2016. 3. 24. 19:11

옛날에 잠깐 공부할라 했다가 angularjs 때문에 좀 미뤘는데 API 서버 땜시 다시 들여다 보게 되었다.

Flask 안내 홈피 가보면 한글 해석 참 잘 해놓았기는 한데..... 미묘하게 설명들이 빠져있어서

모르는 사람이 읽으면 멘붕오고 좀 알게 되어서는 꽤 친절한 설명(?) 인지라 참 신기하게 보고 있다.


출처 :http://flask-docs-kr.readthedocs.org/ko/latest/tutorial/folders.html


스텝 0: 폴더를 생성하기

이건 그냥 그대로 하면 된다.
파이참으로 new project 하나 만들고 가상 폴더 묻는거있는데 잘 모르므로 그냥 생성하는 것으로 했다.

그리고 좌측 파일들 보고 디렉토리 만들어 주면된다.


스텝 1: 데이터베이스 스키마


솔직히 이거 만들어도 이상하게 내컴에서는 안 써먹여져서 안만들어도 됨. 이게 원래 뒤에 나오는 sqlite /tmp/~~.db < schema.sql 에 써먹을려고 만드는거다.
걍 파이참 내의 터미널 이용할거면 안해도 된다. 복붙잘됨.

스텝 2: 어플리케이션 셋업 코드

flaskr 폴더 안에 flaskr.py를 만든다. 글이 많다고 걍 내리다간 나중에 작동안해서 짜증날수 있으니 잘 보면서 잘 해본다.

글들이 번역투라서 좀 읽기 힘들지만 참고 읽어보는게 좋다.

위에서 아래로 죽 코드를 입력하면서 하면된다. 일단 python flaskr.py로 실행해서 러닝, 리스타팅 2줄 뜨면 된다.


스텝 3: 데이터베이스 생성하기

여기서 좀 짜증이 치솟기 시작한다.

일단 sqlite3을 모르면 더이상 진행이 불가능하다. 물론 다른거 사용해도 되는데 그정도 할줄 알면 이런글을 안 보고 있을 것이다.

sqlite3 사이트 : https://www.sqlite.org/download.html

이곳에 가서 위에서 조금 내려가다보면 (윈도우 기준으로) Precompiled Binaries for Windows 가 있다. 거기서 용량 가장 많은 거 받고 찜찜하면 다른것도 받는다.


받아서 적당한데 풀어주면 되겠지만.. 내 경우에는 그냥 flaskr폴더 안에 풀었다. 난 그냥 여러 파일 다 받아서 풀어버렸다.





이렇게 하면 굳이 환경변수를 잡지 않아도 cmd 에서 바로 sqlite3를 flaskr폴더 안에서 사용할수 있다.


설명에 보면 [sqlite3 /tmp/flaskr.db < schema.sql] 라는 구문이 나온다.

그런데 이상하게 이게 되질 않았다. 왜 그런지는 지금도 모르겠다. 왜 안되지 열내다가 결국 tmp 파일안에 안 넣고 밖으로 빼는식으로 대응 했다.

아 그리고 저 db파일은 처음부터 존재하는 것은 아니다. 만들어 줘야 한다. 하지만 이것도 생략 되어 있다 ^^ 모르면 뭐 어쩌라는건지... 


사실 저 구문이 제대로 작동하면 별일 없이 넘어가지는데 나처럼 안 넘어가면 문제가 생긴다.

sqlite3에서 db파일은 sqlite3 test.db 이런식으로 원하는 db이름을 치면서 sqlite3를 실행시키면 자동으로 생성된다.


재밌는건 sqlite3를 db파일 없이 단독 실행시키면 메모리 안에서만 실행되므로 끄면 바로 사라지고 끄지 않더라도 적용이 되질 않아서 제대로 예제가 작동하지 않는다.


이렇게 db파일을 만들고 나면 이후에는 차례대로 따라가면 된다.

가끔 안되는게 나올수 있는데 몇번 처음부터 계속 다시 하다보면 조금씩 뭔가 알기 시작하긴했다.


오류메세지 뜨면 열내지 말고 그걸 찬찬히 살펴 보는게 좀더 도움이 된다.

'PYTHON > Flask' 카테고리의 다른 글

flask.g  (0) 2018.04.16
python3 flask pymysql 에서 한글 깨짐 문제  (0) 2017.12.11
Flask내의 CORS  (0) 2016.04.12
플라스트 + AngularJS 연결점  (0) 2016.04.12
플라스크 + angularjs 를 이용한 회원가입 간략한 흐름  (0) 2016.03.31
Comments