Django에 이어서 새로 학습하게 되는 Flask Framework을 시작해보려고 합니다.
Django는 큰 박스와 같아서 처음 시작하게 되면 마치
너가 무엇을 원하는지 몰라서 다 가져와봤어
라는 느낌으로 시작했습니다.
거기에서 우리가 필요없는 부분은 제거를하고 필요한 부분만 사용하게 되었는데
Flask는 Django와 반대되는 개념이었습니다.
Flaks는 아무것도 없는 곳에 레고처럼 하나씩 내가 필요한 것들을 추가해나가는 방식입니다.
마찬 가지로 가상환경을 하나 새로 만들고
pip install Flask
명령어를 사용해서 플라스크 개발환경을 세팅합니다.
그리고 직접 flask 프로젝트 폴더를 생성합니다.
mkdir flask-project
flask-proejct/app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, My First Flask!'
(ubuntu 기준)
위와 같이 파이썬 파일을 작성하고 플라스크 서버를 실행해봅시다.
터미널에서 flask run
이라는 명령어를 실행하면
다음과 같이 플라스크 서버가 실행되고 localhost:5000에 들어가보면
Hello, My First Flask
를 확인할 수 있습니다.
flask 프로젝트 폴더안에 app.py라고 지정을하게 되면 flask가 알아서 인식하고 서버를 구동하지만 다른 이름으로 할 경우에는 따로 환경변수를 지정하면 실행시킬 수 있습니다.
예를 들어 flask 프로젝트 폴더안에 myflask.py 라는 파이썬 파일을 만들었다면
export FLASK_APP=myflask
라고 지정을 해주고 실행하면 됩니다.
플라스크를 설치한지 5분도 안걸려서 위 코드만 따라치면 벌써 Hello
를 작성해서 볼 수 있다니 Django를 처음 시작했을 때와는 전혀 다른 느낌이듭니다.
Django 프로젝트를 처음 생성했을때는 app도 만들어야했었고 이것저것 세팅할 부분이 많이 있었는데 Flask는 처음시작부터 당황스러운것도 사실이었습니다.
Django로 웹개발을 시작했고 그것이 익숙하다보니 Flask도 Django처럼 무언가 폴더를 만들어주고 그 안에서 해당하는 기능들을 작성하고 관리하면 되었는데 Flask는 정반대의 느낌으로 내가 처음부터 하나하나씩 만들어가는 부분이 다른점이었고 색달랐습니다.
물론 언어를 사용하는 것도 Python으로 동일하고 Framework만 다르기 때문에 새로운 언어로 만들어가는 것보다는 수월할 것으로 생각합니다.
또한 언어나 Framework는 도구일 뿐 기본적인 백엔드 개념에서 크게 벗어나지않는다고 생각합니다.