웹브라우저에 Hello, World!를 출력하는 Flask 예제코드입니다.
Flask의 Quickstart 문서를 보며 진행한 과정을 작성한 글입니다.
https://flask.palletsprojects.com/en/2.0.x/quickstart/
부족한 부분이나 이상한 부분이 있을 수 있습니다.
개발 환경 구축은 다음 포스트를 참고하세요
Windows 10 환경에서 Visual Studio Code와 Miniconda를 사용한 Flask 개발 환경 만들기
https://webnautes.tistory.com/1522
Miniconda를 설치하지 않고 pip install flask 명령으로 해도 상관은 없습니다.
2021. 10. 9 - 최초작성
hello.py
from flask import Flask app = Flask(__name__) print(__name__) @app.route("/") def hello_world(): return "<p>Hello, World!</p>" |
flask 모듈의 Flask 클래스를 임포트하여 __name__을 아규먼트로하여 Flask 클래스의 인스턴스를 생성하는 것으로 시작해야 합니다.
Flask가 템플릿 및 정적 파일과 같은 리소스를 찾을 위치를 알기 위해 필요합니다.
__name__은 모듈 이름을 저장하고 있습니다.
print문을 사용하면 터미널에 __name__의 값을 출력해보면 파일 이름인 hello가 출력됩니다.
route() 데코레이터(decorator)를 사용하여 어떤 URL을 웹브라우저에서 접속시 이 함수를 실행할지 Flask에 알립니다.
여기에선 루트를 접근하면 hello_world 함수가 실행되어 Hello, World!가 웹페이지에 출력됩니다.
hello_world 함수는 웹브라우저에 표시하려는 메시지를 반환합니다. 여기에선 HTML 문자열을 리턴하고 있고 브라우저에서 렌더링되어 화면에 표시됩니다.
Flask 자체와 충돌할 수 있으므로 파일 이름을 flask.py로 하지마세요.
FLASK_APP 환경 변수에 실행할 파일 이름을 대입해준 후, flask 명령으로 실행할 수 있습니다.
사용하는 환경에 따라 FLASK_APP 환경 변수를 지정하는 방법에 차이가 있습니다.
파일 이름이 app.py 또는 wsgi.py인 경우 FLASK_APP 환경 변수를 설정할 필요가 없습니다.
Ubuntu BASH
$ export FLASK_APP=hello
$ flask run
Windows 명령 프롬프트(cmd.exe)
> set FLASK_APP=hello
> flask run
Windows PowerShell
> $env:FLASK_APP = "hello"
> flask run
flask run을 실행하면 테스트에 사용할 수 있는 내장 서버를 동작시켜줍니다.
실행 후 로그에 다음과 같은 접속 가능한 URL이 출력됩니다. Ctrl + 클릭으로 웹브라우저에서 접속하도록 할 수 있습니다.
서버를 실행하면 현재 사용중인 컴퓨터에서만 액세스 가능합니다.
디버거를 비활성화했거나 네트워크의 사용자를 신뢰하는 경우 명령줄에 --host=0.0.0.0을 추가하기만 하면 서버를 외부에서도 사용할 수 있습니다.
$ flask run --host=0.0.0.0
'WEB > Flask' 카테고리의 다른 글
Flask 강좌 6 - 리다이렉트와 에러(Redirects and Errors) (0) | 2021.12.24 |
---|---|
Flask 강좌 5 - request 예제(로그인, 파일 업로드, 쿠키) (0) | 2021.12.22 |
Flask 강좌 4 - 렌더링 템플릿 (0) | 2021.12.20 |
Flask 강좌 3 - Routing (0) | 2021.12.19 |
Flask 강좌 2 - HTML Escaping (0) | 2021.12.19 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!