본문 바로가기
Web developer/Flask

[Flask] 대규모 Application 구조

by doongjun 2020. 10. 24.

대규모 응용 프로그램의 폴더 구조는 아래와 같다.

|-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

댓글