Flask RESTful API - 서버 환경 설정
2019. 7. 1. 23:34ㆍPython/Flask
반응형
서버 환경 설정
앞으로 개발할 환경에 대한 서버 설정을 시작 해보자
개발환경은 Window10 버전 기준으로 한다.
set_env.bat - 신규
파일위치: C:\istarbucks_api\code\set_env.bat
아래와 같은 설정 정보를 서버가 구동 전에 실행하여서 변수에 설정 한다. 설정된 정보는 뒤에 작성 할 app.py 에서 사용한다.
- 어플리케이션 이름
- 서버 실행 모드(개발,운영)
- DB 연동 정보
set FLASK_APP=istarbucks set FLASK_ENV=development set DATABASE_URL=postgresql://postgres:admin!@34@localhost:5432/postgres
config.py - 신규
파일위치: C:\istarbucks_api\code\config.py
개발, 운영 환경에 대한 환경 설정 파일
import os class Development(object): """ Development environment configuration """ DEBUG = True TESTING = False SQLALCHEMY_DATABASE_URI = os.getenv('DATABASE_URL') class Production(object): """ Production environment configurations """ DEBUG = False TESTING = False SQLALCHEMY_DATABASE_URI = os.getenv('DATABASE_URL') app_config = { 'development': Development, 'production': Production, }
config.py 는 서버구동시 파라미터 개발,운영에 따라서 호출되는 클래스가 달라지게 된다.
자세한 호출 방법은 app.py 에서 확인하자.
db_init.py - 신규
파일위치: C:\istarbucks_api\code\db_init.py
DB 초기화
from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy()
app.py - 수정
import os from flask import Flask from flask_restful import Api from flask_sqlalchemy import SQLAlchemy from config import app_config #set_env.bat 에서 설정한 application 이름 설정 app = Flask(os.getenv('FLASK_APP')) #set_env.bat 에서 설정한 FLASK_ENV는 development env_name = os.getenv('FLASK_ENV') """ app_config 는 config.py 에서 정의 app_config 이면 위에서 development를 설정하였기 때문에 config.py 의 Development 클래스의 정보가 설정 되게 된다. """ app.config.from_object(app_config[env_name]) # 데이터 변경사항에 대해 커밋 전후로 알림 여부 app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False """ 기본설정확인을 위한 URL """ @app.route("/") def hello(): return "Hello Flask!" """ API Resource 등록 --------------------------------------------------------- POST /stores/create - 매장 등록 PATCH /stores - 벌크 매장 등록 GET /stores - 매장목록 조회 GET /stores/{int:store_id} - 매장정보조회 DELETE /stores/{int:store_id} - 매장정보삭제 """ api = Api(app) if __name__ == "__main__": """ DB 초기화 """ from db_init import db db.init_app(app) app.run(debug=True,port=5000)
서버 실행 순서
- 가상환경 시작
- set_env.bat 실행
- python app.py 실행
- 브라우저에서 http://localhost:5000 실행 후 어플리케이션 실행 확인
[서버실행 화면 및 어플리케이션 실행]
참고사이트
반응형
'Python > Flask' 카테고리의 다른 글
Flask RESTful API - PATCH /stores (현재 위치 기준 지정한 반경내 모든 매장 정보 등록) (0) | 2019.07.03 |
---|---|
Flask RESTful API - POST /stores/create (매장등록) (0) | 2019.07.02 |
Flask RESTful API - 매장관리 API URL 및 테이블 설계 (0) | 2019.07.01 |
Flask RESTful API - Hello Flask! (0) | 2019.07.01 |
Flask RESTful API - 프로젝트 설정 (0) | 2019.06.30 |