Backend/Flask 개발일지
13. SQLAlchemy를 이용하여 API와 DB 연결하기
본격적으로 miniter API의 회원가입, tweet, , follow, timeline 엔드포인트들을 SQLAlchemy를 이용하여 DB에 연결해 보도록 하겠다. 이로써 데이터를 저장하고 불러오는 것이 가능해 진다. 먼저 앞서 작성한 app.py 파일을 수정하여 config.py 파일의 설정 정보를 읽어들여 DB에 연결하도록 한다. from flask import Flask, request, jsonify, current_app from flask.json import JSONEncoder from sqlalchemy import create_engine, text class CustomJSONEncoder(JSONEncoder): def default(self, obj): if isinstance(..
12. vscode 에 MySQL 연동하기
Ubuntu 터미널 외에 vscode 편집기에서 DB를 보고 싶다면 vscode에 MySQL을 연동하는것도 하나의 방법이 될 수도 있겠다. vscode의 확장(extension) 탭에서 MySQL의 이름으로 검색하면 아래와 같은 확장 기능이 나타나는데 설치해주자. 설치 후 좌측 탭에서 아래의 빨간박스친 부분을 찾고 + 버튼을 누른다. + 버튼을 누른후 기존의 DB 와 연동하기 위한 설정창이 뜨는데 Host, Port, Username, Password를 필수로 입력한다. 그런데 이미 Ubuntu 상에서 MySQL을 설치하였다면 MySQL 의 Username, Host 127.0.0.1 과 Port 3306 이 자동으로 입력되어 있을 것이다. 자동으로 입력된 Host 와 Port 는 MySQL 설치시 자동..
11. SQLAlchemy 라이브러리 설치와 config.py(연결정보 저장 파일)
Python 코드에서 DB와 연길하기 위해 사용하는 라이브러리인 SQLAlchemy가 있다. 이걸 이용해서 Python 코드로 데이터베이스에 연결하여 SQL을 실행시킬 수 있다. 여기서 SQLAlchemy는 ORM(Object Relational Mapper) 이것은 관계형 데이터베이스의 테이블들을 클래스로 표현할 수 있게 해주는 것을 말한다. 클래스로 테()이블을 표현하고 저장, 읽기, 수정 등을 할 수 있게 해준다. 하지만 이 책의 내용에 따라 ORM은 나중에 사용해 보기로 하고 SQL 문을 숙달하기 위해 CORE(데이터베이스만을 연결)만 사용하기로 한다. ● SQLAlchemy 설치 SQLAlchemy 설치는 Ubuntu 터미널에서 다음의 명령어로 설치한다. pip install sqlalchemy..
9. 미니터(Miniter) API 개발 엔드포인트와 HTTP 요청 총 정리
● 모듈 활성화와 변수, 핑 퐁 엔드포인트 from flask import Flask, jsonify, request from flask.json import JSONEncoder class CustomJSONEncoder(JSONEncoder): def default(self, obj): if isinstance(obj, set): return list(obj) return JSONEncoder.default(self, obj) app = Flask(__name__) app.id_count = 1 app.users = {} app.tweets = [] app.json_encoder = CustomJSONEncoder @app.route("/ping", methods=['GET']) def ping():..