Web/Python

[Flask] Python 기반 꿀잼 웹 프레임워크

JuniorEinstein 2018. 3. 12. 21:07
728x90

네 맞아여, 전 PHP 개발자입니다.


근데! PHP와 함께해온 3년의 시간들이 무안해질만큼 꿀잼 프레임워크를 찾았는데!


그게 바로 Flask였습니다.


플라스크(Flask)는?

파이썬(Python) 기반의 '마이크로(Micro) 웹 프레임워크'입니다.


여기서 '마이크로(Micro)'라는 것은 '작고, 기능이 적다'는 뜻이 아니라, '핵심 기능만 간결하게 유지하면서 확장 가능한 것'이라는 의미입니다.


그렇기 때문에 플라스크는 엄청 가볍고 (사실 있는게 없다고 할 정도로) 자유도가 높습니다. (하나부터 열까지 내가 다 만들어야... 하)


하지만 그만큼! 엄청 꿀잼 프레임워크니까 저와 함께 시작해 보도록 하죠!


플라스크 한글 메뉴얼은 http://flask-docs-kr.readthedocs.io/ko/latest에 있습니다.



플라스크 개발 환경 구축하기

플라스크는 기본적으로 파이썬 3버전을 지원하지 않습니다.


그 이유는! 플라스크가 의존하고 있는 Werkzeug가 아직 파이썬 3 버전을 지원하지 않기 때문입니다!


그래도! 파이썬 3으로 개발해서 파이썬 2.7 버전으로 코드를 바꿔줄 수 있는 라이브러리들이 있습니다.

그래도 일단은 파이썬 2.7 버전을 이용해서 시작해보도록 하겠습니다.


파이썬 설치하기

맥 유저 같은 경우는 기본적으로 파이썬 2.7 버전이 설치되어 있습니다.


윈도우 유저는 파이썬 사이트에서 파이썬 2.7 버전을 다운로드 받아서 설치해야 합니다.


파이썬 다운로드 : https://www.python.org/downloads/


파이썬 2.7.14 버전을 다운로드 해 설치합니다.


그리구 맥은 그냥 터미널창에서 'python' 명령어를 통해서 python CLI를 실행 시킬 수 있지만, 윈도우는 환경 변수 설정을 해줘야 합니다. (이게 한번 꼬이면 정말 빡쳐요)


윈도우 환경 변수 설정 방법은 http://doocong.com/python/python-pip-install/을 참고해 주시면 좋겠습니다.


pip 설치하기

그 다음은 파이썬 패키지 관리자 도구인 'pip'를 설치해야 합니다.


윈도우 같은 경우는 위의 링크에 pip 설치 방법까지 나와 있습니다.


맥 유저는 터미널에 아래의 명령어를 입력해 주시면 됩니다.


1
$ sudo easy_install pip
cs


Virtualenv 설치하기

'Virtualenv'는 나의 컴퓨터 환경에서 다른 공간을 할당하는(?) 일종의 가상 머신입니다. 가상 머신이라고 하기엔 작은 규모고, 같은 운영체제를 기반으로 하지만, python 프로젝트가 내 컴퓨터의 다른 요소들과 상호작용하지 않게 도와줍니다.


우리는 새로운 플라스크 프로젝트를 virtualenv 안에다 생성할 것입니다.


pip를 이용해서 설치해 봅시다.


윈도우는 CMD, 맥은 terminal에 다음 명령어를 입력합니다.


1
$ sudo pip install virtualenv
cs


이 명령어는 우리의 컴퓨터에 virtualenv를 설치해 줍니다.


우리는 virtualenv를 통해서 가상의 공간을 할당하고, 가상 공간을 끄고 킬 수 있습니다.


새로운 프로젝트 이름을 'hello'라고 해봅시다.


hello라는 폴더를 생성하고, hello 폴더로 이동합시다!


1
2
$ mkdir hello
$ cd hello
cs


그러면 이제 본격적으로 프로젝트를 시작하기 위해 가상환경을 생성해 줄겁니다. 가상 환경의 이름은 일단 'venv'로 해두죠.


1
$ virtualenv venv
cs


그러면 hello 폴더 안에 venv라는 폴더가 생성되는 것을 확인할 수 있습니다.


venv는 가상환경과 관련된 정보를 담고 있습니다.


가상환경을 실행하기 위해서는 venv/bin/ 폴더 안에 있는 activate를 실행 시켜야 합니다.


1
$ source venv/bin/activate
cs


윈도우

1
$ venv\scripts\activate
cs


그러면 다음과 같이 우리가 가상 환경을 사용하고 있다는 표시가 뜨게 됩니다.


1
(venv) $ 
cs


그러면 가상 환경 구축까지 끝났습니다!


flask 설치하기

우리는 가상환경이 켜진 상태에서 플라스크를 설치할 것입니다.


가상환경 안에서 설치된 패키지들은 실제 컴퓨터 환경에서 사용할 수 없습니다.


즉, 가상환경이 활성화 되어야만 flask를 사용할 수 있습니다.


pip를 이용해 flask를 설치해 줍니다.


1
(venv) $ sudo pip install Flask
cs


그러면 플라스크 설치를 완료 했습니다!



웹 서버 구동

그럼 이제 간단하게 서버를 시동해보도록 하죠.


일단 hello 폴더에 hello.py 파일을 생성합니다.


그 안에는 다음과 같이 코드를 작성합니다!


1
2
3
4
5
6
from flask import Flask
app = Flask(__name__)
 
@app.route('/')
def hello():
    return "hello!";
cs


1번줄 : flask 패키지로부터 Flask 모듈을 불러옵니다.

2번줄 : app이라는 변수에 플라스크 서버 객체를 할당합니다.

4번줄 : '/'이라는 url의 요청에 대한 처리를 할것이라고 지정합니다.

5번줄 : '/'이라는 url로 요청을 받으면, hello()라는 함수를 실행합니다.

6번줄 : hello()라는 함수는 "hello!"라는 응답을 줍니다.


그러면 실행해 봅시다!


1
(venv) $ export FLASK_APP=hello.py
cs


플라스크 웹 서버가 hello.py를 기본 앱으로 설정하라고 명령합니다.


1
(venv) $ flask run
cs


서버를 실행 시킵니다.


그러면 플라스크 서버가 127.0.0.1:5000에 실행되었다고 알려줍니다.



<아주 조촐하지만 성공입니다! 분명 성공이에요!!>


성공입니다!!!


마침

혹시 오류가 나거나 궁금한 사항이 있으면 언제든지 질문 주세요!


참고 : http://flask.pocoo.org/docs/0.12/quickstart


728x90