[Flask] 플라스크 프로젝트 생성하기

참조


소개

  • 플라스크에서 프로젝트는 하나의 웹 사이트라고 생각하면 됩니다.
  • 즉, 플라스크 프로젝트를 생성하면 웹 사이트를 한개 생성하는 것과 같습니다.

새 파이썬 파일 만들기

  • Visual Studio Code 에서 myproject 디렉터리에 pybo.py 파일을 생성하고 아래와 같이 코드를 작성합니다.
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_pybo():
    return 'Hello, Pybo!'
  • app = Flask(name) 은 플라스크 애플리케이션을 생성하는 코드입니다.
  • 해당 코드에서 name 이라는 변수에는 모듈명이 담겨 있습니다.
  • 즉, 이 파일이 실행되면 pybo.py 라는 모듈이 실행되는 것이므로 name 변수에는 "pybo" 라는 문자열이 담깁니다.
  • @app.route 는 특정 URL에 접속하면 바로 다음 줄에 있는 함수를 호출하는 플라스크의 데코레이터 입니다.
  • 데코레이터란 기존 함수를 변경하지 않고 추가 기능을 덧붙일 수 있도록 해주는 함수를 의미합니다.

플라스크 서버 실행하기

  • 가상 환경에서 flask run 명령어를 실행해 플라스크 개발 서버를 실행합니다.
(myproject) C:\venvs\myproject>flask run
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
Usage: flask run [OPTIONS]
Try 'flask run --help' for help.

Error: Could not locate a Flask application. You did not provide the "FLASK_APP" environment variable, and a "wsgi.py" or "app.py" module was not found in the current directory.
  • 실행 결과, Could not locate a Flask application. 오류가 발생합니다.
  • 오류 메시지는 "FLASK_APP" 환경 변수 설정을 해야 한다라고 표시 되어 있습니다.
  • 즉, 플라스크 서버를 실행하려면 반드시 FLASK_APP 이라는 환경 변수에 플라스크 애플리케이션을 지정해 주어야 합니다.

FLASK_APP 환경 변수의 기본 값

플라스크는 FLASK_APP 환경 변수가 지정되지 않은 경우 자동으로 app.py 를 기본 애플리케이션으로 인식합니다.

따라서 앞의 pybo.py 파일명을 app.py로 지었다면 FLASK_APP 환경 변수를 별도로 지정하지 않아도 됩니다.


기본 애플리케이션 설정하기

  • myproject 디렉터리에서 다음 명령을 실행하여 환경 변수 FLASK_APP 에 pybo 애플리케이션을 지정합니다.
  • pybo는 앞에서 작성한 pybo.py 파일을 의미합니다.
(myproject) C:\venvs\myproject>set FLASK_APP=pybo

(myproject) C:\venvs\myproject>flask run
 * Serving Flask app 'pybo' (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: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
  • 오류는 없어 졌습니다.
  • 하지만 여전히 경고 메시지가 보입니다.
  • 경고 메시지가 나타난 이유는 플라스크 서버가 운영 환경으로 실행 되었기 때문입니다.
  • 플라스크는 서버를 실행할 때 아무런 설정을 하지 않으면 기본 운영 환경으로 실행됩니다.

플라스크 서버를 개발 환경으로 실행하기

  • 실행한 서버를 <Ctrl + C> 를 눌러 구동 중인 플라스크 서버를 중지합니다.
  • 그리고 다음 명령을 실행해 플라스크 서버 실행 환경을 개발 환경으로 바꿉니다.
(myproject) C:\venvs\myproject>set FLASK_ENV=development

(myproject) C:\venvs\myproject>flask run
 * Serving Flask app 'pybo' (lazy loading)
 * Environment: development
 * Debug mode: on
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 547-193-509
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
  • 경고까지 사라진 것을 확인할 수 있습니다.

브라우저 확인

  • 서버를 실행하고 localhost:5000 또는 127.0.0.1:5000 으로 정상 실행되었는지 확인합니다.
  • "Hello, Pybo!" 가 정상적으로 출력 된 것을 확인할 수 있습니다.

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY