TOP
class="layout-aside-left paging-number">
본문 바로가기
[파이썬 Projects]/<파이썬 웹개발>

[파이썬] 플라스크(Flask) - Hello, World! 애플리케이션 만들기

by 기록자_Recordian 2024. 7. 13.
728x90
반응형
시작에 앞서
해당 내용은 <가장 빠른 풀스택을 위한 Flask & FastAPI>, Dave Lee 지음. BJ Public 출판.
내용을 토대로 작성되었습니다. 보다 자세한 사항은 해당 교재를 참고하시기 바랍니다.

파이썬 파일에 코드 작성

 

먼저 VS Code를 켜서 원하는 폴더에 새로운 파이썬 파일 app.py 을 만들고, 코드를 입력한다.

from flask import Flask
app = Flask(__name__)

@app.route('/') #라우팅 설정
def hello_wolrd():
    return 'Hello, World!'

※ 라우팅(route)이란, URL을 특정 함수에 연결하는 작업이다. 예를 들어 /login URL은 로그인 함수에 연결될 수 있다.

위의 코드는 웹 브라우저에서 루트 URL(/)에 접속했을 때 hello_world 함수를 실행하라는 의미이다.

 

작성한 코드를 저장한 후, 새 터미널에 다음 명령어를 실행한다. 해당 명령어는 플라스크 개발 서버를 실행한다.

flask run

▶ Debug mode는 꺼진 상태인데, 디버그 모드가 켜져 있으면 코드에 변경이 있을 때 서버가 자동으로 재시작되고, 에러 발생 시 에러 메시지와 대화식 디버거를 웹페이지에 표시하는데, 보안상의 이유로 공개적으로 배포된 운영환경에서는 디버그 모드를 끄는게 좋다.

 

WARNING 에 나타난 메시지는 현재 실행 중인 서버가 개발용 서버라는 것을 경고하는 내용이다.

Running on http://127.0.0.1:5000: 플라스크 애플리케이션이 로컬 컴퓨터의 5000번 포트에서 실행되고 있음을 알려준다.

 

http://127.0.0.1:5000 주소를 웹 브라우저에 입력하면, 플라스크 애플리케이션의 홈페이지를 볼 수 있다.

 

 

◆ 디버그 모드 활성화하기

디버그 모드를 활성화하면 애플리케이션 개발 중에 발생하는 에러를 쉽게 추적하고, 수정 사항이 있을 때 서버를 자동으로 다시 시작한다.

 

[시작하는 방법]

1. flask run 명령어에 옵션 추가

flask run --debug #또는 -d

 

2. app.run() 메서드 사용

코드에서 직접 app.run() 메서드를 호출하고 debug=True 매개변수를 전달하여 애플리케이션을 실행하면 디버그 모드가 활성화된다. 다만 flask run으로만 실행하면 디버그 모드가 활성화되지 않고, python 파일명.py로 실행해야 한다.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world:
	return 'Hello, World!'
    
if __name__ == '__main__':
	app.run(debug=True)

 


flask run 상세 사용법

 

플라스크는 FLASK_APP 환경 변수가 설정되지 않은 경우, app.py 파일을 디폴트로 사용한다.

만약 코드의 파일명이 app.py라면 단지 해당 파일이 위치한 폴더에서 터미널을 오픈해서 다음 명령을 실행하면 된다.

flask run

 

그러나, 파일명이 app.py가 아닌 경우에는 다음과 같이 한 줄로 FLASK_APP 환경 변수 설정과 flask run 명령을 동시에 실행할 수 있다. (예. 파일명이 your_app.py 인 경우)

flask --app your_app.py run

◆ flask run 의 추가 옵션

 

1. --host 옵션

  • 127.0.0.1과 localhost: 일반적으로 플라스크는 127.0.0.1을 기본 호스트로 사용한다. 이 주소는 '로컬호스트'라고도 하며, 자신의 컴퓨터에서만 접근이 가능하다. 만약 보안상의 이유로 이 주소가 막혀있을 경우, 원하는 주소로 호스트를 설정한다.
  • 0.0.0.0: 이 주소는 모든 네트워크 인터페이스에서 애플리케이션에 접근을 허용한다.
  • --host 사용법: 터미널에서 flask run --host:=원하는_호스트 형식으로 실행
flask run --host=0.0.0.0

 

2. --port 옵션: 다른 포트에서 실행하기

  • 포트 충돌: 5000 포트는 플라스크의 기본 포트이다. 다만 이 포트가 다른 프로그램에 의해 이미 사용 중인 경우, 원하는 포트로 지정할 수 있다.
  • --port 사용법: 터미널에서 flask run --port=원하는_포트 형식으로 실행
flask run --port=8000

 

3. --reload 옵션: 테스트 시 유용한 기능

코드 변경을 자동으로 감지하고 애플리케이션을 다시 시작한다.

실행 중인 코드를 수정한 후 저장하면 재실행하지 않아도 바로 수정 사항이 반영된다.

flask run --reload

 

위의 옵션들은 한 줄로 추가할 수 있다. (예. 파일명 your_app.py)

flask --app your_app run --host=0.0.0.0 --port=8000 --reload

플라스크 애플리케이션 접속 주소

 

플라스크 애플리케이션을 실행하면 터미널에 최종 주소가 출력된다.

이후부터는 flask 명령으로 다양한 환경에 맞게 플라스크 애플리케이션을 실행할 수 있고, 쉽게 테스트 할 수 있다.


 

728x90
반응형