[웹개발] 01. 내가 Flask를 쓰는이유

Flask를 간단히 살펴보기

Flask 란?

Flask는 python을 사용하는 웹프레임워크로 django와 같이 웹을 구현할때 쓰인다.

하지만 django보다 가볍게 작성할 수 있고, 불필요한 구조를 전부 작성할 필요없이 필요한 기능만 쉽게 구현할 수 있다.

이러한 라이트한 Flask의 매력때문에 간단히 API서버를 구축할때 주로 사용한다.

Flask에서 간단히 Rest API 구현하기

from flask import Flask, jsonify, request

app = Flask(__name__)

@app.route('/modelfr', methods=['GET'])
def modelfr():
    if request.method == 'GET':
        URL_fr = request.args.get('ip', '')
        student_list = get_face(URL_fr, device_0, target, name)
        return {'box': student_list}

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=1219)

1. import 하기

flask 에서 Flask, jsonify, request와 같이 사용할 모듈을 불러온다.

2. app = Flask(__name__)

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=1219)

위의 코드와 같이 사용하여 __name__의 값이 __main__일 경우 (즉, 해당 모듈을 import해서 사용하는 것이 아니라 직접 실행될 경우) 에 app을 실행하게 된다. app은 Flask의 인스턴스로 앞에서 받은 __name__값을 받아서 인스턴스를 생성한다.

3. @app.route(‘/modelfr’, methods=[‘GET’])

def modelfr():
    if request.method == 'GET':
        URL_fr = request.args.get('ip', '')
        .........

@app.route(‘/modelfr’, methods=[‘GET’])는 app에서 생성된 서버에 modelfr의 경로를 라우팅해주는 함수이다. 또한 methods를 사용하여 Rest api의 요청을 설정할 수 있다.

위의 코드는 /modelfr에 get요청이 왔을때 작용하는 함수를 설정한 것이다. 들어온 요청은 request를 사용하여 쉽게 처리할 수 있다.


© 2020. All rights reserved.