우선, 내가 참가하고 있는 부트캠프에서는 파이썬을 사용하고 있다.
그래서 이번에 파이썬 웹 프레임워크를 배우고 있는데, 그중에서 이번주는 Flask
를 배운다.
사실 나는 캡스톤할 때 Flask
를 이용해서 rest api를 만들어 보긴 했었으나 그때 당시에는 Django
가 가장 강력할 때 였어서, 플라스크에 관한 레퍼런스나 책이 많지 않아서 공부할 때 조금 힘들었기도 했고, 잠깐하다 말아서 이번에 좀 진득하게 배우고 계속 잘 활용하고싶당 ㅎㅎㅎ
Flask
가 뭔데?:python
의 웹 프레임워크 중 하나pip install Flask
로 설치한 후 사용할 수 있다.virtualenv
을 통해 프로젝트에서 필요한 환경을 따로 세팅할 수 있다.pip
을 통해 virtualenv
설치가 완료되면, 자신이 원하는 이름의 가상환경을 만들어준다. (나는 기본에 따라 venv로 만들었다.)source venv/bin/activate
을 통해 가상환경을 활성화해준다. pip freeze
는 현 환경에서 설치된 모듈들을 확인할 수 있는데, 지금 실행중인 가상환경 venv
에는 아무것도 설치하지 않았으니, 해당 내역에 아무것도 없다! 이는 당연한 것.deactive
하나만 cli에서 입력해주면 끝!Flask의 기본 형식을 아래와 같다.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
flask run
을 입력하면 해당 앱이 실행이 될 것인데, 주소창이 나올 것이다. 그 주소창을 브라우저 url창에 입력하면 앱의 실행결과를 볼 수 있다.@app.route('/', methods=["GET"])
route
함수안에 있는 methods=[""]
는 GET/POST/PUT/DELETE
등이 들어간다.GET
을 사용하는 것이 보편적이기 때문에, 해당 사항에서는 route
함수에서 methods
항목을 생략해도 된다.@app.route('/menus/<int:num_id>', methods=["DELETE"])
def remove_menu(num_id):
for i in range(len(menus)):
if menus[i]["id"] == num_id:
del menus[i]
break
return "Success delete %dth menu" %num_id
# return f"Success delete {num_id}th
method
를 사용할 것인지 명시해주면 된다.인터넷
과 웹
은 엄연히 다른 단어다. (컴공에 오기전까지는 아무것도 몰랐다.)