오늘은 플라스크(Flask)라는 웹 기반 서비스를 이용해 프로젝트를 공부해보려 합니다.
설명하기에 앞서 Flask 설치 방법 및 통합개발환경(비주얼 스튜디오 설치 및 python 등의 연동) 방법은 생략토록 하겠습니다.
그럼 첫번째, 프로젝트의 첫 번째 단계에서 플라스크 애플리케이션의 기본 구조를 설정합니다.
여기서는 flask run 명령어를 사용하여 애플리케이션을 실행할 수 있도록 준비해볼께요
다음과 같이 폴더 구조를 만들 예정입니다. 여기서는 프로젝트 펄더를 my_memo_app으로 정의하며,
해당 폴더와 하부 폴더명은 가이드에 맞게 진행하시길 바랍니다.
my_memo_app/
+---- templates/
ㄴ---- app.py
1. 플라스크 애플리케이션 생성 및 flask run 설정하기
다음과 같이 app.py 파일을 생성하고, 플라스크 애플리케이션의 기본 구조를 작성해봅니다.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Welcome to My Memo App!'
이 코드는 다음과정을 실행합니다.
- Flask 인스턴스를 생성합니다. (app = Flask(__name__)).
- 루트 URL('/')에 접근했을 때 실행되는 home() 함수를 정의합니다. 이 함수는 아래의 'Welcom to My Memo App!' 메시지를 반환하게 됩니다.
2. flask run 명령어로 애플리케이션 실행
vscode(비주얼 스튜디오 코드)에서 터미널을 오픈한 후 flask run을 실행합니다. 그리고 웹 브라우저에서 http://127.0.0.1:5000/ 주소로 웹브라우저를 이용해 접근하게 되면 'Welcom to My Memo App!'이라는 화면을 보실 수 있습니다.
[여기서 잠깐!]
Flask Debug 모드에 관하여
환경 변수를 설정하면 플라스크를 디버그 모드로 명시적으로 실행할 수 있습니다. 이는 운영체제에 따라 다를 수 있으며, 다음은 일반적인 방법입니다.
FLASK_APP 설정은 flask run 실행 시 어떤 파일을 실행할 지를 설정하는 것이며, FLASK_DEBUG는 플라스크 애플리케이션 실행 시 디버그 모드를 켤지 말지를 설정하는 것입니다.
FLASK_DEBUG=1 은 디버그 모드 활성화하는 것이고, FLASK_DEBUG=0은 디버그 모드를 비활성화 하는 것입니다.
다만, 운영 환경에서는 보안상의 이유로 디버그 모드를 비활성화하는 것이 매우 중요합니다. 디버그 모드가 활성화되어 있으면 에러 발생 시 민감한 정보가 노출되어 해킹 위협의 표적이 될 수 있습니다.
#[윈도우]
set FLASK_APP=app.py
set FLASK_DEBUG=1
flask run
#[리눅스/MAC OS]
export FLASK_APP=app.py
export FLASK_DEBUG=1
flask run
파이썬 라이브러리는 수시 업데이트가 되기때문에 DEBUG 모드를 활성화하게 되면 내부에서 사용하는 watchdog 라이브러리와 충돌이 발생해 에러가 날 수 있습니다. 이 때는 pip uninstall watchdog 명령으로 기존에 설치되어 있는 watchdog 라이브러리를 삭제하고, pip install watchdog 명령으로 재설치 업그레이드를 하셔야 될 수 있습니다.
오늘은 플라스크 애플리케이션 구조 설명과 flask run 으로 웹서비스를 실행하고 웹브라우저에서 서비스가 되는지 확인해 보았습니다. 다음 시간은 사용자 인터페이스 개발, 데이터베이스 연동(CRUD) 등의 기능 구현을 해보도록 하겠습니다.
감사합니다.
'IT' 카테고리의 다른 글
Flask - 애플리케이션(메모앱) 만들어보기 #5 (0) | 2024.11.19 |
---|---|
Flask - 애플리케이션(메모앱) 만들어보기 #4 (1) | 2024.11.17 |
Flask - 애플리케이션(메모앱) 만들어보기 #3 (1) | 2024.11.17 |
Flask - 애플리케이션(메모앱) 만들어보기 #2 (3) | 2024.11.15 |
python 가상환경 설정하기(venv 모듈 사용하기) (4) | 2024.11.04 |