0. 들어가기에 앞서.
다음 학기에 있을 프로젝트를 위해 Flask를 연습하던 중에 수많은 난관에 부딪혔다. 분명히 3개월 전에도 한번 했던 것들인데 막상 다시 잡으면 생각이 나지 않는다. 예전에 사람들이 "뒤돌아서면 까먹는다"라는 말을 하는 것을 보고 그건 '틀딱들이나 그런거지ㅋㅋ'라며 넘겼는데 이제는 현재다. 자신이 해본 것을 꼭 적어보길 바란다. 틀딱이고 뭐고 IQ가 자신의 키와 맞먹지 않는다면 한번 본 것 만으로는 잘 기억하지 못한다. 이러한 교훈과 글로 적으면 머리에 남겠지 라는 생각으로 초라한 가이드를 시작하려 한다. 커리큘럼과 일정은 없다. 그냥 생각날 때 올리고 내가 부딪힌 것, 해결한 것들에 대해서 기술하려 한다.
- 개발환경
- Python 3.9.7
- Anaconda
- VSCode, Jupyter Lab
1. 환경 설정.
그냥 진행해도 되지만 기존에 하던 것 들과 분리하는 것이 좋을 것 같아 새로운 환경을 만들었다. 새로운 환경의 이름은 flaskBlog
라 설정하였다.
새로운 env 생성
(base) 작업경로> conda create -n flaskBlog
생성한 env로 이동
(base) 작업경로> activate flaskBlog
(flaskBlog) 작업경로>
2. Flask 설치.
(flaskBlog) 작업경로>conda install flask
...
done
마지막에 done
이라는 문구가 나오면 설치는 완료가 된 것이다.
3. Flask 시작.
이제 본격적으로 Flask를 시작하려 한다. 시작하기에 앞서 C드라이브
에 flaskBlog
라는 폴더를 생성하였다. 앞으로 만들 Flask와 관련된 파일들은 모두 여기에 저장할 것이다.
(flaskBlog) C:\>mkdir flaskBlog
(flaskBlog) C:\>cd flaskBlog
(flaskBlog) C:\flaskBlog>
이제 메인 파일을 생성하여야 한다. 파일명은 개발자 본인의 자유이다. 필자는 app.py
라고 저장하였다. 여기서 주의할 점은 절대 flask.py
라는 제목으로 지어서는 안 된다. 프로그래밍에 절대라는 것은 없지만 원한다면 해보길 바란다. 30분 동안 Flask 정체기를 겪고 싶다면 말이다.
- app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "<p>Hello, World!</p>"
if __name__ == '__main__':
app.debug = True
app.run()
@app.route("/")
app.route는 URL에서 괄호 내의 location이 호출 되었을때 실행 할 동작을 선언하는 문장이다. 말이 어려울 수도 있는데 쉽게 풀어보자면 다음과 같다. Flask를 실행하면 http://localhost:5000/
혹은 http://127.0.0.1:5000/
의 경로에서 실행이 된다. 즉 지금의 구문은 메인화면이 표시될 index 페이지가 호출 되었을때 실행 될 동작을 기술하는 부분이다. @app.route("/")
의 바로 아래에 있는 하나의 함수에 대해서만 적용이 된다.
if __name__ == '__main__':
app.debug = True
app.run()
이 코드는 Flask의 공식 문서에는 없는 내용이다. 개발과정에서 편의를 위해 추가한 부분이며 기존의 Flask는 경로 설정 및 flask run 이라는 명령어를 통해 실행을 했다면 위 코드를 추가하면 단순히 Python 파일을 실행하기만 하면 Flask가 실행된다. 또한 app.debug = True
를 통해 Flask를 디버그 모드로 실행하면 app.py파일에서 Ctrl+S
를 누르면 자동으로 새로고침 되어 수정사항이 반영된다.
app.py에 위의 내용을 넣고 실행을 해 보면 정상적으로 실행이 되는 경우도 있지만 안 되는 경우도 있다. 만약 에러가 ModuleNotFoundError: No module named '*'
의 유형을 띄고 있다면 아래와 같이 해결하면 된다. 이 에러는 특정한 Python Module이 설치되어 있지 않을 때 발생하는 오류이므로 설치로 간단하게 해결해 주면 된다.
- Error
...
ModuleNotFoundError: No module named '*'
- Solution
(flaskBlog) C:\flaskBlog>conda install *
4. Flask 실행.
위의 과정을 따라 실행하고 VSCode의 터미널에 표시된 Link를 클릭하거나 주소창에 http://localhost:5000/
을 입력하면 다음과 같은 결과를 얻을 수 있다.
'PROGRAMMING > PYTHON' 카테고리의 다른 글
[Flask.3] pyngrok로 외부에서 Flask 접속하기 (0) | 2022.02.18 |
---|---|
[Flask.2] 새로운 페이지 만들기 (0) | 2022.02.17 |
[Flask.1] html 파일 연결하기 (0) | 2022.02.17 |