[플라스크] 플라스크 기초
- 웹 프로그래밍
- 2022. 3. 28. 20:15
참조
플라스크 프로젝트 구조
- 예제로 만들 Flask 프로젝트의 전체 구조는 다음과 같습니다.
├── pybo/
│ ├─ __init__.py
│ ├─ models.py
│ ├─ forms.py
│ ├─ views/
│ │ └─ main_views.py
│ ├─ static/
│ │ └─ style.css
│ └─ templates/
│ └─ index.html
└── config.py
- 앞에서 먼저 만들었던 pybo.py 파일은 pybo 패키지로 변경할 수 있습니다.
- 이 구조에서 보듯 pybo 디렉터리 안에 있는 init.py 파일이 pybo.py 파일의 역학을 대신할 것입니다.
- pybo 패키지 안에 구성해야 하는 파일과 디렉터리는 다음과 같습니다.
데이터베이스를 처리하는 models.py 파일
- 파이보 프로젝트는 ORM(object relational mapping) 을 지원하는 파이썬 데이터베이스 도구인 SQLAlchemy 를 사용합니다.
- SQLAlchemy는 모델 기반으로 데이터베이스를 처리합니다.
서버로 전송된 폼을 처리하는 forms.py 파일
- 파이포 프로젝트는 웹 브라우저에서 서버로 전송된 폼을 처리할 때 WTForms 라는 라이브러리를 사용합니다.
- WTForms 역시 모델 기반으로 폼을 처리합니다.
- 그래서 폼 클래스를 정의할 forms.py 파일이 필요합니다.
화면 구성하는 views 디렉터리
- pybo.py 파일에 작성했던 hello_pybo 함수의 역할은 화면 구성입니다.
- views 디렉터리에는 바로 이런 함수들로 구성된 뷰 파일들을 저장합니다.
- 파이보 프로젝트에는 기능에 따라 main_views.py, question_views.py, answer_views.py 등 여러가지 뷰 파일을 만들 예정입니다.
CSS, 자바스크립트, 이미지 파일을 저장하는 static 디렉터리
- static 디렉터리는 파이보 프로젝트의 스타일시트(.css), 자바스크립트(.js), 그리고 이미지 파일 등을 저장합니다.
HTML 파일을 저장하는 templates 디렉터리
- templates 디렉터리에는 파이보의 질문 목록, 질문 상세 등의 HTML 파일을 저장합니다.
- 앞에서 살펴본 파이보 프로젝트 구조에는 index.html 파일만 있습니다.
- 하지만 파이보 프로젝트가 진행되면서 question_list.html, question_detail.html 과 같은 템플릿 파일을 계속 추가할 예정입니다.
파이보 프로젝트를 설정하는 config.py 파일
- config.py 파일은 파이보 프로젝트의 환경을 설정합니다.
- 파이보 프로젝트의 환경변수, 데이터베이스 등의 설정을 이 파일에 저장합니다.
728x90
'웹 프로그래밍' 카테고리의 다른 글
[Flask] Flask 블루프린트로 라우트 함수 관리하기 (0) | 2022.03.28 |
---|---|
[Flask] Flask 애플리케이션 팩토리 (0) | 2022.03.28 |
[Flask] 플라스크 개발 환경 준비 - 가상 환경 설정 (0) | 2022.03.28 |
[Flask] 플라스크 프로젝트 생성하기 (0) | 2022.03.27 |
[Flask] 플라스크 개발 환경 준비 - 플라스크 설치 (0) | 2022.03.27 |
이 글을 공유하기