❗️ 이 글의 내용 출처 : 🌐위키독스 점프투 플라스크
2-01 플라스크 기초 다지기
- 규모를 갖춘 플라스크 프로젝트를 만들고자 한다면 프로젝트 구조를 잘 만들어야 한다
- 플라스크는 "프로젝트의 구조를 어떻게 하라"와 같은 규칙이 없다. 그래서 프로젝트를 구성할 때 고민을 해야 한다
아래의 그림은 앞으로 만들 프로젝트의 잠정적 구조이다
각 파일이 어떤 역할을 하는지 알아보고 넘어가자
하나하나 자세히 알지 못해도 괜찮다
하다 보면서 정확하게 알게 될 것이다
🧩 models.py
⭐️ 데이터베이스를 처리
- 우리가 만들어 볼 파이보 프로젝트는 데이터베이스 도구인 SQLAlchemy를 사용한다 SQLAlchemy는 모델 기반으로 데이터베이스를 처리한다
- 아무튼 지금 알아야 할 내용은 파이보 프로젝트에는 "모델 클래스들을 정의할 models.py 파일이 필요하다"는 것이다
⭐️ 서버로 전송된 폼을 처리
- 파이보 프로젝트는 웹 브라우저에서 서버로 전송된 폼을 처리할 때 WTForms라는 라이브러리를 사용한다
- WTForms 역시 모델 기반으로 폼을 처리한다
- 그래서 폼 클래스를 정의할 forms.py 파일이 필요하다
🧩 views 디렉터리
⭐️ 화면을 구성
- pybo.py 파일에 작성했던 hello_pybo 함수의 역할은 화면 구성이다
- views 디렉터리에는 바로 이런 함수들로 구성된 뷰 파일들을 저장한다
- 필요에 따라 여러가지 뷰파일을 만든다
🧩 static 디렉터리
⭐️ CSS파일, JS파일, IMG파일을 저장
🧩 templates 디렉터리
⭐️ HTML 파일을 저장
- templates 디렉터리에는 파이보의 질문 목록, 질문 상세 등의 HTML 파일을 저장한다
- 현재 우리 templates에는 index.html 파일만 있다
- 프로젝트가 진행되면서 question_list.html, question_detail.html과 같은 템플릿 파일을 계속 추가할 것이다
🧩 config.py
⭐️ 프로젝트의 환경을 설정
- 프로젝트의 환경변수, 데이터베이스 등의 설정을 이 파일에 저장한다