[웹개발] 01. 내가 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를 사용하여 쉽게 처리할 수 있다.