파이썬으로 작성된 Micro Web Framework의 하나로 간단히 웹 사이트, 혹은 간단한 API 서버를 만드는데 특화되어 있는 Python Web Framework이다. (Pycharm에서 패키지 설치를 통해 사용 가능)
flask 시작 코드 (app.py)
from flask import Flask app = Flask(__name__) @app.route('/') def home(): return 'This is Home!' if __name__ == '__main__': app.run('0.0.0.0',port=5000,debug=True)
-> 맥북은 이미 5000번의 포트가 이미 사용중이기 때문에 다른 포트 번호로 시작해야 한다.
이후 크롬에서 http://localhost:5000/ 접속 시 서버가 만들어진 것을 알 수 있다.
HTTP 메서드 중 GET과 POST과 가장 많이 사용된다.
- GET → 통상적으로! 데이터 조회(Read)를 요청할 때
예) 영화 목록 조회
→ 데이터 전달 : URL 뒤에 물음표를 붙여 key=value로 전달
→ 예: google.com?q=북극곰- POST → 통상적으로! 데이터 생성(Create), 변경(Update), 삭제(Delete) 요청 할 때
예) 회원가입, 회원탈퇴, 비밀번호 수정
→ 데이터 전달 : 바로 보이지 않는 HTML body에 key:value 형태로 전달
ex) 예를 들어, 클라이언트에서 서버에
title_give
란 키 값으로 데이터를 들고왔다고 했을 때GET
- 요청 API 코드
@app.route('/test', methods=['GET']) def test_get(): title_receive = request.args.get('title_give') print(title_receive) return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
-> /test라는 창고를 만들어 Ajax에서 받아온
title_give
변수에 넣어 print
- 요청 확인 Ajax 코드
$.ajax({ type: "GET", url: "/test?title_give=봄날은간다", data: {}, success: function(response){ console.log(response) } })
-> /test라는 창고를 가는데
title give
라는 이름으로 봄날은 간다라는 데이터를 가져간다.
POST
- 요청 API 코드
@app.route('/test', methods=['POST']) def test_post(): title_receive = request.form['title_give'] print(title_receive) return jsonify({'result':'success', 'msg': '이 요청은 POST!'})
- 요청 확인 Ajax 코드
$.ajax({ type: "POST", url: "/test", data: { title_give:'봄날은간다' }, success: function(response){ console.log(response) } })