본문으로 바로가기

파이썬 Flask 시작하기

category Application/Flask 2020. 7. 23. 23:52
728x90

 

 

플라스크(Flask) 란?

  • 플라스크(Flask)는 파이썬으로 작성된 마이크로 웹 프레임워크이다.
  • 플라스크는 특별한 도구나 라이브러리가 필요 없기 때문에 마이크로 프레임워크라 부른다.
  • 데이터베이스 추상화 계층, 양식 유효성 확인, 기타 기존의 서드파티 라이브러리가 공통 기능을 제공하는 구성 요소가 없다. 
  • 플라스크는 플라스 자체에서 구현된 것처럼 애플리케이션 기능을 추가할 수 있는 확장 기능을 지원한다. 
  • 확장 기능은 객체 관계 매퍼, 양식 유효성 확인, 업로드 관리, 다양한 개방형 인증 기술, 여러 공통 프레임워크 관련 도구들을 위해 존재한다.
  • Werkzeug 툴킷과 Jinja2 템플릿 엔진에 기반을 둔다.
  • BSD 라이선스이다.

 

설치 및 실행

pip install flask
(flask) PS C:\Users\Desktop\flask> pip install flask
Collecting flask
  Using cached Flask-1.1.2-py2.py3-none-any.whl (94 kB)
Requirement already satisfied: itsdangerous>=0.24 in c:\users\d-wook\.conda\envs\flask\lib\site-packages (from flask) (1.1.0)
Requirement already satisfied: Werkzeug>=0.15 in c:\users\d-wook\.conda\envs\flask\lib\site-packages (from flask) (1.0.0)
Requirement already satisfied: click>=5.1 in c:\users\d-wook\.conda\envs\flask\lib\site-packages (from flask) (7.0)
Requirement already satisfied: Jinja2>=2.10.1 in c:\users\d-wook\.conda\envs\flask\lib\site-packages (from flask) (2.11.1)
Requirement already satisfied: MarkupSafe>=0.23 in c:\users\d-wook\.conda\envs\flask\lib\site-packages (from Jinja2>=2.10.1->flask) (1.1.1)
Installing collected packages: flask
Successfully installed flask-1.1.2

 

어디서나 찾을 수 있는 샘플 코드는 다음과 같습니다.

from flask import Flask, escape, request

app = Flask(__name__)

@app.route('/')
def hello():
    name = request.args.get("name", "World")
    return "Hello World!"

if __name__ == '__main__':
    app.run(debug=True)

 

서버가 실행됩니다.

(flask) PS C:\Users\Desktop\flask> & C:/Users/.conda/envs/flask/python.exe c:/Users/Desktop/flask/app.py
 * Serving Flask app "app" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 128-576-269
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

 

브라우저 확인해봅니다.