Flask 개발 서버로 Flask 앱 개발하기

Beginner

This tutorial is from open-source community. Access the source code

소개

이 튜토리얼에서는 Flask 애플리케이션을 로컬 개발 중에 실행하기 위해 Flask 의 개발 서버를 사용하는 방법을 배우게 됩니다. 개발 서버는 대화형 디버거를 제공하며 변경 사항이 발생하면 코드를 자동으로 다시 로드합니다. 이 튜토리얼에서는 개발 서버를 실행하고 발생할 수 있는 일반적인 문제를 처리하는 단계를 안내합니다.

참고: 코드 파일은 직접 생성하여 환경에서 실행해야 합니다. Web 5000 에서 Flask 서비스 상태를 미리 볼 수 있습니다.

Flask 애플리케이션 설정

개발 서버를 실행하기 전에 Flask 애플리케이션을 설정해야 합니다. app.py라는 새 Python 파일을 생성하고 다음 코드를 추가합니다.

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, Flask!'

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

이 코드에서는 Flask 애플리케이션을 생성하고 간단한 "Hello, Flask!" 메시지를 반환하는 라우트 (route) 를 정의합니다. if __name__ == "__main__": 블록은 스크립트가 모듈로 가져올 때가 아니라 직접 실행될 때만 Flask 애플리케이션이 실행되도록 보장합니다.

Flask CLI 로 개발 서버 실행

개발 서버를 실행하는 가장 쉬운 방법은 Flask CLI 명령 flask run을 사용하는 것입니다. 터미널 또는 명령 프롬프트를 열고, app.py 파일이 있는 디렉토리로 이동한 다음 다음 명령을 실행합니다.

flask run

이렇게 하면 개발 서버가 http://localhost:5000/에서 시작됩니다. 웹 브라우저를 열고 이 URL 을 입력하여 Flask 애플리케이션에 액세스할 수 있습니다.

디버그 모드 활성화

대화형 디버거를 제공하고 변경 사항이 있을 때 코드를 자동으로 다시 로드하는 디버그 모드를 활성화하려면 flask run 명령에 --debug 옵션을 추가합니다.

flask run --debug

이제 코드에 변경 사항이 있으면 개발 서버가 자동으로 다시 로드됩니다.

애플리케이션 파일 지정

기본적으로 Flask 는 Flask 애플리케이션으로 실행할 app.py라는 파일을 찾습니다. 파일 이름이 다르거나 다른 디렉토리에 있는 경우 --app 옵션을 사용하여 애플리케이션 파일을 지정할 수 있습니다.

flask run --app myapp.py

myapp.py를 애플리케이션 파일의 이름으로 바꿉니다.

주소 이미 사용 중

서버를 시작하려고 할 때 "Address already in use" 메시지와 함께 OSError가 표시되면, 이는 다른 프로그램이 이미 개발 서버의 기본 포트인 포트 5000 을 사용하고 있음을 의미합니다. 다른 프로그램을 식별하고 중지하거나 다른 포트를 선택할 수 있습니다.

포트 5000 을 사용하는 프로세스를 식별하려면 netstat 또는 lsof 명령을 사용할 수 있습니다. 다음은 Linux, macOS 및 Windows 의 예입니다.

  • Linux:
netstat -nlp | grep 5000
  • macOS / Linux:
lsof -P -i :5000
  • Windows:
-ano > netstat | findstr 5000

프로세스를 식별한 후에는 다른 운영 체제 도구를 사용하여 해당 프로세스를 중지할 수 있습니다. 프로세스를 중지한 후에는 문제 없이 개발 서버를 실행할 수 있습니다.

Python 에서 개발 서버 실행

Flask CLI 명령을 사용하는 것 외에도 Python 코드에서 개발 서버를 시작할 수도 있습니다. app.py 파일의 끝에 다음 코드를 추가합니다.

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

이제 Python 으로 app.py 파일을 실행하여 개발 서버를 실행할 수 있습니다.

python app.py

이렇게 하면 개발 서버가 시작되고 이전과 동일한 방식으로 Flask 애플리케이션에 액세스할 수 있습니다.

요약

이 튜토리얼에서는 로컬 개발 중에 Flask 애플리케이션을 실행하기 위해 Flask 에서 개발 서버를 사용하는 방법을 배웠습니다. Flask CLI 명령으로 개발 서버를 실행하고, 디버그 모드를 활성화하고, 애플리케이션 파일을 지정하고, "Address already in use"와 같은 일반적인 문제를 처리하는 방법을 배웠습니다. 또한 Python 코드에서 개발 서버를 시작하는 방법도 배웠습니다. 개발 서버를 사용하면 프로덕션 환경에 배포하기 전에 Flask 애플리케이션을 쉽게 테스트하고 디버깅할 수 있습니다.