Flask RESTful API - 프로젝트 설정
Python, Flask, SQLAlchemy를 공부하면서 기록을 남겨두기 위해 프로젝트를 설정하여서 이제까지
공부한 내용을 정리하기 위해 본 프로젝트를 시작하게 되었다.
무엇을 만들것인가?
별다방 매장정보를 관리하는 RESTful APIs를 만들어 볼려고 한다.
- 매장정보를 관리하는 C/R/U/D 프로그램
- Kakao REST API 와 Postgresql 이 Spatial Functions을 이용한 위치 정보 저장 및 조회
- Selenium을 통한 매장 평점 조회
사전 설치 프로그램
프로젝트 시작전 아래의 프로그램은 설치 되어져 있어야 한다.
- Python3.6.X
- POSTMAN
다운로드 사이트: https://www.getpostman.com/products
- PostgreSQL 10
다운로드 사이트: https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
- pgAdmin4
다운로드 사이트: https://www.pgadmin.org/download/
참고로 PostgreSQL을 사용하는 이유는 Spatial Functions을 사용하기 위해서이다.
예제 에서는 가상으로 현재 나의 위치에서 거리순 정렬을 적용해 보자
설치 프로그램들을 다 설치한 후 pgAdmin을 실행 한 후 아래 SQL문을 실행 해 주면 된다.
create extension postgis
KakaoDevelopers 계정 생성
키워드로장소검색,주소검색 API를 사용하여서 스타벅스매장정보 및 위치정보 입수를 위해 필요하다.
관련사이트: https://developers.kakao.com/docs/restapi/local#%ED%82%A4%EC%9B%8C%EB%93%9C-%EA%B2%80%EC%83%89
프로젝트 설정
프로젝트 구조
istarbucks_api/
|
|-------- code
| |
| |-------- models
| |
| |-------- resources
|
|-------- venv
프로젝트 생성
- 명령프롬프트(cmd) 실행
- cd \
- C:\mkdir istarbucks_api
- C:\cd istarbucks_api
- C:\istarbucks_api\mkdir code
- C:\istarbucks_api\cd code
- C:\istarbucks_api\code\mkdir models
- C:\istarbucks_api\code\mdkir resources
- C:\istarbucks_api\code\cd ..
- 가상환경 설정을 위하여서 C:\istarbucks_api 에서 아래와 같이 명령어를 실행한다.
실행명령어: virtualenv venv
가상환경 시작 및 종료
-
가상환경 시작: C:\istarbucks_api\venv\Scripts 폴더 이동 후 activate 명령어 입력
-
가상환경 종료: C:\istarbucks_api\venv\Scripts 폴더 이동 후 deactivate 명령어 입력
가상환경으로 프로젝트를 관리하는 이유는 프로젝트별로 필요한 라이브러리를 관리하기 용이 하기 때문이다.
LIBRARY 설치
- 가상환경 시작
- pip install 을 이용한 설치
- pip install Flask
- pip install Flask-RESTful
- pip install Flask-SQLAlchemy
- pip install marshmallow-sqlalchemy
- pip install flask-marshmallow
- pip install requests
- pip install GeoAlchemy2
- pip install psycopg2
- pip install BeautifulSoup4
- pip install selenium