app = Flask(__name__)은 플라스크 애플리케이션을 생성하는 코드다. 이 코드에서 __name__이라는 변수에는 모듈명이 담긴다. 즉, 이 파일이 실행되면 pybo.py라는 모듈이 실행되는 것이므로 __name__ 변수에는 ‘pybo’라는 문자열이 담긴다. @app.route는 특정 주소에 접속하면 바로 다음 줄에 있는 함수를 호출하는 플라스크의 데코레이터다.
점프 투 플라스크를 aws 기반에서 따라해보기로 했다. 일단 처음 flask 코드를 따라 작성해봤는데, 지난번에는 몰랐던 코드의 의미를 더 자세히 알고 가게 되어 좋은 것 같다.(초기 세팅은 이 곳의 도움을 받았다.)
그리고 책에서는
flask run
을 입력하라고 했지만 zsh: command not found: flask라는 오류가 생겨서
python -m flask run
위와 같이 작성하였다.
그리고 실행을 했지만 제대로 되지 않았다. 또 다른 문제점은 wsgi.py나 app.py가 없다는 것이었다. 그래서 app.py를 만들어서 pybo.py와 같은 내용으로 타이핑을 하고 실행시켰다.
그 후에 생긴 문제는 접속이 안되는 문제였다. 퍼블릭 IP로 접속을 시도했으나 실패... 어떻게 해결해야 할까?
-> 이 분(app.py 코드 수정)과 이 분(flask 실행 코드 수정)덕에 성공할 수 있었다!
app.py 내부에
if __name__ =="__main__":
app.run(host='0.0.0.0', port = 5000)
다음과 같은 코드를 추가하였고,
python -m flask run이 아니라
sudo python3 app.py
이렇게 입력하니 "Running on http://0.0.0.0:5000/" 이라는 말이 떴고(이전에는 http://127.0.0.1:5000/였다.) 0.0.0.0 자리에 ‘IPv4 퍼블릭 IP’를 입력하니 성공적으로 페이지를 볼 수 있었다.
+) 이후 pybo.py 코드에 같은 작업을 진행했더니 성공적으로 수행되었다.
'✨ 공부 기록 > Flask' 카테고리의 다른 글
[점프 투 플라스크] 1장 공부 기록 (0) | 2021.05.02 |
---|