대규모 응용 프로그램의 폴더 구조는 아래와 같다.
|-flasky
|-app/
|-templates/
|-static/
|-main/
|-__init__.py
|-errors.py
|-forms.py
|-views.py
|-__init__.py
|-email.py
|-models.py
|-migrations/
|-tests/
|-__init__.py
|-test*.py
|-venv/
|-requirements.txt
|-config.py
|-manage.py
- 플라스크 어플리케이션은 일반적으로 app패키지 안에 존재한다.
- migrations 폴더는 데이터베이스 마이그레이션 스크립트를 포함하고 있다. 여기서 데이터베이스 마이그레이션이란, 개별 SQL파일을 MySQL콘솔 등에서 직접 실행하지 않고, 프레임워크의 특정명령어를 통해 실행하고 이 결과를 별도의 테이블에서 버전 관리를 하는 기법이다.
- 유닛 테스트는 tests 패키지에 작성된다.
- requirements.txt는 패키지 의존성을 리스트하여 서로 다른 컴퓨터에서 인식할 수 있는 가상 환경을 재생성하기 편리하다.
- config.py는 설정값을 저장한다.
- manage.py는 어플리케이션과 다른 어플리케이션의 작업을 실행한다.
- 플라스크 어플리케이션 객체 생성은 __init__.py 파일에서 해야한다.
- static에는 정적인 파일 예를 들면 image, css, js
- __init__ 는 모듈의 시작지점 (모듈을 import하는 순간 자동 시작)
더 큰 규모의 어플리케이션을 갖고 있다면, 그것들을 Blueprints로 구현된 더 작은 그룹으로 나누는 것을 추천한다.
'Web developer > Flask' 카테고리의 다른 글
[Flask] Jinja2 Template #1 (0) | 2020.10.30 |
---|---|
[Flask] Bootstrap (0) | 2020.10.30 |
[Flask] Blueprint (0) | 2020.10.24 |
[Flask] SQLAlchemy #2 (0) | 2020.10.14 |
[Flask] SQLAlchemy #1 (0) | 2020.10.13 |
댓글